【问题标题】:VBA IE click button that requires argument?需要参数的VBA IE单击按钮?
【发布时间】:2016-03-02 06:01:17
【问题描述】:

我正在使用 Excel 和 VBA 编程。

我找到了一个我想点击的按钮。但是,这个按钮似乎需要一个参数。

使用 Chrome 中的控制台,我输入了以下内容:

document.getElementById("button1").click

该行已解决function click() { [native code] } 所以我尝试了这个:

document.getElementById("button1").click ('100', '2016-03-02')

它奏效了。那么,我如何从 VBA 运行相同的东西呢?

我尝试了以下方法:

Sub ClickTheButton()
Dim IE As SHDocVw.InternetExplorer
Dim Doc As MSHTML.HTMLDocument

Set IE = New SHDocVw.InternetExplorer

With IE
    .Visible = True
    .Navigate "(webpage here)"

    Do Until Not .Busy And .ReadyState = 4
        DoEvents
    Loop

    Set Doc = .Document

    Doc.GetElementByID("button1").Click ' nothing happens when running this
    Doc.GetElementByID("button1").Click "('100', '2016-03-02')" ' not working (can't even attempt to run this)
    Doc.GetElementByID("button1").Click ("'100', '2016-03-02'") ' not working (can't even attempt to run this)

End With
End Sub

我无法运行该程序,因为.Click 之后的代码返回了Wrong number of arguments or invalid property assignments

有什么想法吗?

【问题讨论】:

  • 试试Doc.getElementById("button1").click "100", "2016-03-02" 工作时您使用的是什么语言?发布 URL 或相关 HTML 也很有帮助。
  • 我无法提供真实的 URL,因为它需要我登录到一个站点(它用于单击一个预订会话的按钮。但是,我只是在 Chrome 中使用了控制台。另外,您的建议在 VBA 中不起作用,它仍然认为不应在 .Click 之后放置任何内容(关于无效属性分配的错误)。

标签: vba excel internet-explorer radio-button


【解决方案1】:

找到答案here

点击按钮运行了一个函数。我可以像这样运行函数,而不是单击按钮:

Dim CurrentWindow As HTMLWindowProxy    
Set CurrentWindow = IE.Document.parentWindow
Call CurrentWindow.execScript("xajax_DoCalReservation('100', '2016-03-02')")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多