4
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    Dim PageInput As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
    For Each elem As HtmlElement In PageInput
        If elem.GetAttribute("name") = "wdf_origin" Then
            elem.SetAttribute("value", FromTXT.Text)
        End If
        If elem.GetAttribute("name") = "wdf_destination" Then
            elem.SetAttribute("value", ToTXT.Text)
        End If
        If RadioButton1.Checked = True Then
            elem.GetAttribute("id") = "oneway" Then
            elem.SetAttribute("checked", RadioButton1.Checked) Then
            elem.GetAttribute("id") = "wdfdate1" Then
            elem.SetAttribute("value", DateTimePicker1.Text)
        End If
        If RadioButton2.Checked = True Then
            elem.GetAttribute("id") = "return" Then
            elem.SetAttribute("checked", RadioButton2.Checked) Then
            elem.GetAttribute("id") = "wdfdate1" Then
            elem.SetAttribute("value", DateTimePicker1.Text) Then
            elem.GetAttribute("id") = "wdfdate2" Then
            elem.SetAttribute("value", DateTimePicker2.Text)
        End If
    Next

    Dim PageInput2 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("select")
    For Each elem As HtmlElement In PageInput2
        If elem.GetAttribute("id") = "adults" Then
            elem.SetAttribute("value", AdultsTXT.Text)
        End If
        If elem.GetAttribute("id") = "children" Then
            elem.SetAttribute("value", ChildrenTXT.Text)
        End If
        If elem.GetAttribute("id") = "infants" Then
            elem.SetAttribute("value", InfantsTXT.Text)
        End If
        If RadioButton1.Checked = True Then
            elem.GetAttribute("id") = "wdftime1" Then
            elem.SetAttribute("value", Time1TXT.Text)
        End If
        If RadioButton2.Checked = True Then
            elem.GetAttribute("id") = "wdftime2" Then
            elem.SetAttribute("value", Time2TXT.Text) Then
            elem.GetAttribute("id") = "wdftime1" Then
            elem.SetAttribute("value", Time1TXT.Text)
        End If
    Next
End Sub

現時点では、このエラーが発生しています

式は値であるため、代入のターゲットにすることはできません

線上elem.GetAttribute(" ")Thenそれに加えて、ステートメントがいくつかのsで終了することを期待しています。特定のテキスト ボックスが含まれるように、if ステートメント内で特定のメソッドを設定することはできませんか? RadioButtons選択したテキスト ボックスに応じて特定のテキスト ボックスを送信しようとしていますRadioButton

提案やリソースは役に立ちます。

4

2 に答える 2

2

それぞれの Then に対応する If があることを確認する必要があります。また、必要なことを行うには実際にAndAlsoandElseIf演算子を使用する必要があるようです。「式は値であるため、割り当てのターゲットにすることはできません」というエラーが発生する理由は、If ステートメントがないために GetAttribute に値を割り当てようとしているからです。

これがうまくいくかどうかを確認してください。

Private Sub WebBrowser1_DocumentCompleted(sender As System.Object, e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    Dim PageInput As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
    For Each elem As HtmlElement In PageInput
        If elem.GetAttribute("name") = "wdf_origin" Then
            elem.SetAttribute("value", FromTXT.Text)
        End If
        If elem.GetAttribute("name") = "wdf_destination" Then
            elem.SetAttribute("value", ToTXT.Text)
        End If
        If RadioButton1.Checked then
            If elem.GetAttribute("id") = "oneway" Then
                elem.SetAttribute("checked", CStr(RadioButton1.Checked))
            ElseIf elem.GetAttribute("id") = "wdfdate1" Then
                elem.SetAttribute("value", DateTimePicker1.Text)
            End If
        End If

        If RadioButton2.Checked then
            If elem.GetAttribute("id") = "return" Then
                elem.SetAttribute("checked", RadioButton2.Checked.ToString)
            ElseIf elem.GetAttribute("id") = "wdfdate1" Then
                elem.SetAttribute("value", DateTimePicker1.Text)
            ElseIf elem.GetAttribute("id") = "wdfdate2" Then
                elem.SetAttribute("value", DateTimePicker2.Text)
            End If
        End If

    Next

    Dim PageInput2 As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("select")
    For Each elem As HtmlElement In PageInput2
        If elem.GetAttribute("id") = "adults" Then
            elem.SetAttribute("value", AdultsTXT.Text)
        End If
        If elem.GetAttribute("id") = "children" Then
            elem.SetAttribute("value", ChildrenTXT.Text)
        End If
        If elem.GetAttribute("id") = "infants" Then
            elem.SetAttribute("value", InfantsTXT.Text)
        End If
        If RadioButton1.Checked AndAlso elem.GetAttribute("id") = "wdftime1" Then
            elem.SetAttribute("value", Time1TXT.Text)
        End If
        If RadioButton2.Checked Then
            If elem.GetAttribute("id") = "wdftime2" Then
                elem.SetAttribute("value", Time2TXT.Text)
            ElseIf elem.GetAttribute("id") = "wdftime1" Then
                elem.SetAttribute("value", Time1TXT.Text)
            End If
        End If
    Next

End Sub
于 2012-11-13T05:11:02.607 に答える
0

いくつかの構文エラーがあります。最初のものと同じように、If前に everyが必要です。Thenあなたが求めているロジックが何であるかはわかりませんが、必要に応じて式の間にandorを使用したり、ブロックを別のブロック内にorネストしたりできます。If End If

于 2012-11-13T04:59:46.380 に答える