【问题标题】:Double click button Internet Explorer Excel VBA双击按钮 Internet Explorer Excel VBA
【发布时间】:2018-04-25 21:10:47
【问题描述】:

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

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

【问题讨论】:

  • 这是一个内部或基于登录的 url?
  • 是的,它是内部的
  • 如果有带有 ondblclick 事件的 JavaScript,那么你可以使用类似:Btn.FireEvent "ondblclick"

标签: excel vba internet-explorer


【解决方案1】:

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

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

如果您使用 Chrome、Firefox 或 IE 9 及以下版本

Btn.FireEvents("ondblclick")

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

Btn.Focus
Btn.FireEvents("ondblclick")

如果您使用的是 IE 10+ 及更高版本,那么您会更成功:

Btn.dispatchEvent("ondblclick")

我会在构建项目后回来尝试这些。同时,我希望这能为您指明一个有用的方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2016-11-05
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    相关资源
    最近更新 更多