使用 VBA 触发 HTML 事件
Trigger HTML event with VBA
我尝试用代码模拟相同的事件,即当我单击按钮时发生的事件。
我使用的参考文献是 Microsoft HTML Object Library & Microsoft Internet Controls
html事件是"onclick",下面一行来自源码
main.cabPestanaV2_1.select('WeitereDaten');;return false;
当我尝试通过 getElementByID 访问对象 "WeitereDaten" 时,没有任何反应,所以我尝试找出必要的事件...
Document.getElementById("WeitereDaten").click
或
Document.getElementById("WeitereDaten").FireEvent ("onclick")
没有 return 错误,但实际上并没有点击按钮(没有任何反应)。
Document.getElementById("WeitereDaten").click
这将不起作用,因为该元素没有 Id
- 因此 getElementById
方法将 return Nothing
你最好的选择是使用:
Dim myLinks As Object
Set myLinks = Document.getElementsByTagName("a")
然后迭代 myLinks
对象,它是一个 HTMLcollection
并测试每个元素以查看它是否是您需要的 link。一旦您确定了正确的元素,然后您可以尝试触发其中一个事件。
不幸的是,由于没有可以使用 DOM 对象解析的唯一标识符,您无法直接访问 VBA.
中的元素。
我尝试用代码模拟相同的事件,即当我单击按钮时发生的事件。 我使用的参考文献是 Microsoft HTML Object Library & Microsoft Internet Controls
html事件是"onclick",下面一行来自源码
main.cabPestanaV2_1.select('WeitereDaten');;return false;
当我尝试通过 getElementByID 访问对象 "WeitereDaten" 时,没有任何反应,所以我尝试找出必要的事件...
Document.getElementById("WeitereDaten").click
或
Document.getElementById("WeitereDaten").FireEvent ("onclick")
没有 return 错误,但实际上并没有点击按钮(没有任何反应)。
Document.getElementById("WeitereDaten").click
这将不起作用,因为该元素没有 Id
- 因此 getElementById
方法将 return Nothing
你最好的选择是使用:
Dim myLinks As Object
Set myLinks = Document.getElementsByTagName("a")
然后迭代 myLinks
对象,它是一个 HTMLcollection
并测试每个元素以查看它是否是您需要的 link。一旦您确定了正确的元素,然后您可以尝试触发其中一个事件。
不幸的是,由于没有可以使用 DOM 对象解析的唯一标识符,您无法直接访问 VBA.
中的元素。