【问题标题】:VBA checkbox website interactionVBA复选框网站交互
【发布时间】:2017-10-27 17:34:14
【问题描述】:

我目前遇到了 VBA 问题。我正在尝试勾选外部网站上的复选框。这是我正在使用的 html sn-p:Html code from external website

我已经编辑了来自 sn-p 的所有机密信息。 这是我的 VBA 代码:

Set elements = objIE.document.getElementsByTagName("input")
    For Each ele In elements
        ele.toString

        If ele.Value = "xxx" Then ele.Click

    Next

所以在这段代码中,elementsvariable 是一个对象,而循环变量 ele 根本没有被填充。我需要比较复选框中的值是否包含值xxx。我对 VBA 不太熟悉。

任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: vba excel checkbox


    【解决方案1】:

    我真的不知道这是否有效。但在 VBA 中,

    .Value 
    

    复选框的属性是真或假。显示的文本的属性是:

    .Caption
    

    【讨论】:

    • 您好 Stefan,谢谢。我已经尝试过了,它并没有改变它,因为它甚至没有进入循环,我找不到原因
    • 您的代码看起来应该可以工作...您收到错误了吗?你也可以发一下吗?
    • 我没有收到错误。不确定这是否会影响它,但这个循环在另一个循环中。设置是我循环遍历 url 列表,而不是在这个循环中,我有第二个循环,它应该遍历 HTML 中的所有 标记。但是,当我在调试模式下运行代码时,不会执行第二个循环。不知道是什么原因造成的
    • 如果调试器在 for each 语句上,并且在下一步之后,这意味着它找不到 Input-Tag... 你能发布更多代码吗?
    • 这里是我的大部分代码:' Set objIE = CreateObject("InternetExplorer.Application") Dim elements, ele Dim document As HTMLDocument objIE.Visible = True For Each ip In Sheets("Sheet1") .Range("A2:A13").Value objIE.navigate ip 直到没有 objIE.Busy 和 objIE.readyState = 4 DoEvents Loop Set elements = objIE.document.getElementsByTagName("input") For Each ele in elements.toString ele .toString If ele.Caption = "xxx" Then ele.Click Next '
    【解决方案2】:

    这段代码循环正常:

    Sub test()
        Set objIE = CreateObject("InternetExplorer.Application")
        Dim elements, ele
    
        objIE.Visible = True
        For Each ip In Sheets("Sheet1").Range("A2:A13").Value
            objIE.Navigate ip
            Do Until Not objIE.Busy And objIE.ReadyState = 4
                DoEvents
            Loop
            Set elements = objIE.document.getElementsByTagName("input")
            For Each ele In elements
                ele.toString
                If ele.Value = "xxx" Then ele.Click
            Next
        Next
    End Sub
    

    【讨论】:

    • 我刚刚运行了这段代码,它也没有进入循环。可能是参考中没有设置某些内容?
    • 如果变量 ip 是包含网站 URL 的字符串,请在调试时查看
    • 因为我将 IE 可见性设置为 true,我可以看到 IE 转到指定的 URL,所以我认为这不是问题所在。 ULR 指的是设备的内部 IP,它有自己的 HTML 结构来执行重置,我们希望自动执行重置,因为经常这样做是一件令人沮丧的事情
    • 是的,我可以在调试中看到一次 IP 地址
    • 您是否为对象元素添加了手表?里面有物品吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    相关资源
    最近更新 更多