我试图在Intranet上可用的网页上调用右键菜单。我正在从Excel宏中进行操作。仅当ueser在特定表中的元素上单击鼠标右键时,此菜单才可用。单击后,将显示一个带有四个选项的框。 我需要执行与该菜单中第四个选项相关的操作。
我在该宏中激活了以下引用: VBA,MS Excel 16.0,MS Office 16.0,MS Internet控件,MS HTML对象库,MS Forms 2.0,UiAutomationClient
我为以下HTML标记设置了有效的引用(所有标记均经过测试且100%准确):
a piece of the HTML code of the page I am trying to automate
Dim IE As InternetExplorer
Dim Document As HTMLDocument
Dim e As IHTMLElement
Dim f As IHTMLElement
Dim elements2 As IHTMLElementCollection
Dim html_span As HTMLSpanElement
Dim html_input As HTMLInputElement
Dim html_body As HTMLBody
Set iframeDoc = IE.Document.frames("list").Document
Set html_input = iframeDoc.getElementsByName("akcja")(0) 'html_input = <INPUT id=akcja type=hidden value="pokaż kalkulację " name=akcja>
html_input.Value = "pokaż kalkulację "
'manipulating input field
hWnd = IE.hWnd
SetForegroundWindow hWnd
SendKeys "~"
html_input.Click
html_input.FireEvent ("oncontextmenu")
html_input.FireEvent ("onmouseover")
Set html_body = iframeDoc.getElementsByTagName("body").Item(0) ' <body oncontextmenu="javascript: CoM(); return false;">
Call IE.Document.parentWindow.execScript("parent.pokaz_kalkul(dowod.numer)", "JavaScript") 'f na objIE.Document
'manipulate span/div elements
Set e = iframeDoc.getElementById("dowod") ' e = <DIV id=dowod>
Set elements2 = e.getElementsByTagName("div")
Set f = elements2.Item(3) ' f= <SPAN onclick="javascript: parent.pokaz_kalkul(dowod.numer)">Pokaż kalkulację </SPAN>
(e.Click f。点击
不幸的是,没有任何火灾事件调用起作用(没有错误,但是什么也没有发生)。 execScript命令导致运行时错误-2147352319(80020101)。
有没有一种方法可以模拟右键单击表格元素,div或span? 还是可以直接调用此javascript parent.pokaz_kalkul(dowod.numer)而不需要单击任何内容?