javascript - 单击按钮或使用 VBA 执行 JavaScript 函数

标签 javascript vba excel

我正在尝试让我的 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/

相关文章:

javascript - 从 AngularJS 中的多个复选框获取值

vba - 在 VBA 中启用字典对象

excel - 添加超链接到 Excel 电子邮件正文

python - 比较两个数据框中的多列并选择具有不同值的行

excel - Excel中如何修剪超链接的显示文字

javascript - 如何创建一个新的jquery扩展能够读取动态输入值?

javascript - Node.js 与 Graphql

javascript - 静默打印嵌入的 PDF

excel - 在 Excel 单元格中返回用户定义的数据类型

vba - 循环访问 EXCEL VBA 字典