Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过excel vba ie自动化向复选框添加勾号?_Excel_Vba_Internet Explorer_Automation - Fatal编程技术网

如何通过excel vba ie自动化向复选框添加勾号?

如何通过excel vba ie自动化向复选框添加勾号?,excel,vba,internet-explorer,automation,Excel,Vba,Internet Explorer,Automation,我试图添加勾号的复选框是联机表的一部分,似乎没有编码为复选框 我尝试了以下方法来添加勾号,但没有效果: IE.Document.getElementByID("gridcolumn-1658-titleEl").Click IE.Document.getElementByID("gridcolumn-1658-textEl").Click IE.Document.getElementsByClassName("x-column-header-inner x-column-header-ove

我试图添加勾号的复选框是联机表的一部分,似乎没有编码为复选框

我尝试了以下方法来添加勾号,但没有效果:

IE.Document.getElementByID("gridcolumn-1658-titleEl").Click

IE.Document.getElementByID("gridcolumn-1658-textEl").Click

IE.Document.getElementsByClassName("x-column-header-inner x-column-header-over")(0).Click

IE.Document.getElementsByClassName("x-column-header-inner")(0).Click
当我检查元素时,我会看到以下内容,但这些内容都不像复选框(第三个是实际引用):


该网站是OptimoRoute,对于那些感兴趣的人来说,使用新的登录可以相当快地访问它


我尝试单击的按钮位于表中的顶部。

请参考以下示例代码:

Sub main()
    'we define the essential variables

    Dim IE As Object, Data As Object
    Dim ticket As String


    Set IE = CreateObject("InternetExplorer.Application")

    With IE
        .Visible = True
        .navigate ("https://dillion132.github.io/vbacheckbox.html")

        While IE.ReadyState <> 4
            DoEvents
        Wend

        Set Data = IE.Document.getElementsByClassName("check")

        Debug.Print Data.Length

        If Len(Data) > 0 Then
            For Each ee In Data

                'Debug.Print ee.Value

                'Based on the checkbox value to check/uncheck the checkbox.
                If ee.Value = "Cat" Then

                   ee.Checked = True

                End If

                'check whether the checkbox is checked, then, get the checked value.
                If ee.Checked Then
                   Debug.Print ee.Value & " is checked"

                End If
            Next ee

        End If
    End With
    Set IE = Nothing
End Sub
Sub-main()
“我们定义了基本变量
尺寸IE作为对象,数据作为对象
作为字符串的模糊票据
设置IE=CreateObject(“InternetExplorer.Application”)
与IE
.Visible=True
.导航(“https://dillion132.github.io/vbacheckbox.html")
而IE.ReadyState 4
多芬特
温德
Set Data=IE.Document.getElementsByClassName(“检查”)
调试。打印数据。长度
如果Len(数据)>0,则
对于数据中的每个ee
'Debug.Print ee.Value
'根据复选框值选中/取消选中复选框。
如果ee.Value=“Cat”,则
ee.Checked=True
如果结束
'检查复选框是否已选中,然后获取选中的值。
如果你检查过的话
Debug.Print ee.Value&“已选中”
如果结束
下一个ee
如果结束
以
设置IE=无
端接头
网站中的代码:

<input class="check" type="checkbox" value="Cat"> Cat </input>
<br />
<input class="check" type="checkbox" value="Dog"  >Dog</input> 
<br />
<input class="check" type="checkbox" value="Pig" checked ="checked" >Pig</input>
Cat


结果如下:


用鼠标单击时,复选框是否选中/取消选中?当您在复选框上按tab键,然后按空格键时会怎么样?请尝试使用类似的方法进入复选框,然后在进入元素后,尝试ResultDiv.Checked=True
<input class="check" type="checkbox" value="Cat"> Cat </input>
<br />
<input class="check" type="checkbox" value="Dog"  >Dog</input> 
<br />
<input class="check" type="checkbox" value="Pig" checked ="checked" >Pig</input>