我正在尝试让我的 VBA 例程与使用 JavaScript 的页面进行交互,并且在过去取得了成功。最近更新后,它不再有效。此时我需要 A) 以编程方式单击按钮或 B) 执行按钮调用的函数。棘手的部分是按钮没有声明的名称。在源代码中声明的工作表上还有其他名称,我可以很好地与它们交互。这是页面源代码中的 html 代码:
<input type="button" class="buttonForm" value='Run Report' onclick="exportData(workOrderSearchForm)"/>
如您所见,它没有为按钮声明名称。过去,以下方法有效:
Set ie = CreateObject("InternetExplorer.application")
ie.document.all(79).Click
以“79”为货品编号索引。现在看来按钮已更改为项目“81”,但只需输入:
ie.document.all(81).Click
由于某种原因无法正常工作。我知道我要执行的函数:exportData(workOrderSearchForm),但不知道如何在使用“点击”方法之外执行此操作。
我已经寻找了一些关于 IE 应用程序对象的不错的文档,但似乎无法找到好的来源。有没有办法执行该功能?
最佳答案
试试这个:
Dim CurrentWindow As HTMLWindowProxy: Set CurrentWindow = ie.Document.parentWindow
Call CurrentWindow.execScript("exportData(workOrderSearchForm)")
但首先您需要在引用(工具>引用)下包含 Microsoft HTML 对象库
关于javascript - 单击按钮或使用 VBA 执行 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3247391/