双击按钮Internet Explorer Excel VBA

时间:2018-04-20 20:20:32

标签: excel vba internet-explorer

我正在尝试模拟双击Internet Explorer中的对象。

以下是HTML代码:

<tr class="selected lead" style="height: 19px;">
<td class="sort-column" style="width: 1200px; line-height: 17px; text-indent: 19px;">
<img class="bi-tree-view-expand-icon" alt="" src="/resource/image/bid/triangle_collapsed_16.png">
<img class="icon" alt="" src=" /resource/image/bid/folder_closed_16.png">
My Content</td>
<td class="horizontal-filler" style="width: 100px;">&nbsp;</td></tr>

VBA代码(目前正在运行):

For Each Btn In IE.document.getElementsByClassName("sort-column")
    If Btn.innerText = "My Content" Then
        Btn.Click
        Exit For
    End If
Next Btn

我可以看到代码按下我的按钮,但我需要的是双击按钮。任何帮助是极大的赞赏。谢谢!

1 个答案:

答案 0 :(得分:-1)

我花了一些时间在这上面,并没有找到一个普遍的答案。似乎任何触发合成事件的特定方法都可能不起作用,具体取决于浏览器的首选方法,控制继承和其他因素。

假设事件得到支持,初始化并且有一个监听器,那么其中一个可能适合你。

如果您使用的是Chrome,Firefox或IE 9及以下版本

Btn.FireEvents("ondblclick")

除了IE 8之外,据报道它希望专注于对象

Btn.Focus
Btn.FireEvents("ondblclick")

如果您使用IE 10+及以上版本,那么您将获得更多成功:

Btn.dispatchEvent("ondblclick")

我在建立一个项目之后回来试试这些。与此同时,我希望这能为您指明方向。