如何通过Excel VBA即自动化将复选框打勾?

时间:2019-09-22 11:55:57

标签: excel vba internet-explorer automation

我要添加刻度的复选框是在线表的一部分,似乎没有被编码为复选框。

我尝试了以下操作以添加刻度线,但没有任何效果:


import SwiftUI

struct FormView: View {

    var body: some View {


        Form {
            Picker(selection: .constant(1), label: Text("Picker")) {
                Text("1").tag(1)
                Text("2").tag(2)

            }

           }
        .navigationBarTitle("Form")



    }
}

struct FormView_Previews: PreviewProvider {
    static var previews: some View {
        FormView()
    }
}

当我检查元素时,会看到以下内容,但是这些看起来都不像复选框(第三个是实际参考):

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,对于那些感兴趣的人,可以使用新的登录名快速访问它!

我要单击的按钮是表格中的前一个。

1 个答案:

答案 0 :(得分:0)

请参考以下示例代码:

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

网站中的代码:

<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>

结果如下:

enter image description here