【问题标题】:VBA onclick event Internet Explorer not workingVBA onclick 事件 Internet Explorer 无法正常工作
【发布时间】:2017-01-08 13:00:45
【问题描述】:

我是 VBA 的新手,我正在尝试自动化 Web Explorer 导航,但有很多困难。 我编写了一个导航到网页并搜索代码的脚本。结果是一个表格(“dr-table-cell rich-table-cell”),其中一行包含搜索项(“02090000062571”),显示为另一个页面的链接。这是该表的代码:

<td class="dr-table-cell rich-table-cell" 
    id="formRicercaPdr:pdrTable:0:j_id134">
     <a onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.forms['formRicercaPdr'],'formRicercaPdr:pdrTable:0:j_id136,formRicercaPdr:pdrTable:0:j_id136','');}return false" 
         href="#">02090000062571</a>
 </td>

我的问题是单击“02090000062571”href 按钮(是搜索项)并执行显示另一个表的javascript 功能。

这是我的代码:

Sub TriggerDivClick()
Dim ie As SHDocVw.InternetExplorer
Dim doc As MSHTML.HTMLDocument
Dim div As HTMLDivElement
Dim url As String

url = "some URL"

Set ie = New SHDocVw.InternetExplorer

ie.Visible = True
ie.Navigate url

While ie.Busy Or ie.ReadyState <> READYSTATE_COMPLETE
    DoEvents
Wend
Set pdr_button = ie.Document.getElementsByClassName("dr-table-cell rich-table-cell")
For Each a In pdr_button
'here comes the problems 

a.Item(0).FireEvent ("click()")

Next a 

结束子

我可以找到该项目,但我无法执行代码来按下按钮。 我使用的是 IE 11。

感谢您的耐心等待!

【问题讨论】:

  • ie.Document.getElementById("formRicercaPdr:pdrTable:0:j_id134").getElementsByTagName("a")(0).Click
  • 你太棒了!!!请你告诉我在哪里可以找到初学者关于 DOM 和 HTML 的完整文档。谢谢
  • 大多数与 HTML DOM 相关的文档都是基于使用 Javascript,但通常可以轻松适应 VBA。也许从这里开始:developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/…
  • @TimWilliams,您应该将此作为答案,我将对此进行投票,它肯定会在未来对其他人有所帮助。

标签: javascript excel vba


【解决方案1】:

这应该可行:

ie.Document.getElementById("formRicercaPdr:pdrTable:0:j_id13‌​4"). _
     getElementsByTag‌​Name("a")(0).Click  

【讨论】:

  • 嗨,蒂姆 对不起,如果有人以这种方式与您联系,但我在 iframe 中与一个按钮堆叠在一起。如果你能在这个问题上看几分钟,我会很高兴。帖子是“如何单击 IFrame vba 中的按钮”提前感谢
猜你喜欢
  • 1970-01-01
  • 2011-07-11
  • 2017-05-04
  • 1970-01-01
  • 2019-10-31
  • 1970-01-01
  • 2012-02-03
  • 2013-02-14
  • 2023-03-17
相关资源
最近更新 更多