Vba 如何单击超链接(aspx页面)并保存

Vba 如何单击超链接(aspx页面)并保存,vba,excel,automation,click,Vba,Excel,Automation,Click,我尝试使用VBA单击的超链接如下所示: a id=SearchResults_dgResults__ctl5_lnkbtnGetImage class=ItemStyle style="FONT-SIZE: 10pt; FONT-FAMILY: Arial" href="javascript:__doPostBack ('SearchResults$dgResults$_ctl5$lnkbtnGetImage','')">OH - House Bill of Lading /a a id=Se

我尝试使用VBA单击的超链接如下所示:

a id=SearchResults_dgResults__ctl5_lnkbtnGetImage class=ItemStyle style="FONT-SIZE: 10pt; FONT-FAMILY: Arial" href="javascript:__doPostBack ('SearchResults$dgResults$_ctl5$lnkbtnGetImage','')">OH - House Bill of Lading /a a id=SearchResults\u dgResults\u ctl5\u lnkbtnGetImage class=ItemStyle=“FONT-SIZE:10pt;FONT-FAMILY:Arial”href=“javascript:\uu doPostBack ('SearchResults$dgResults$_ctl5$lnkbtnGetImage','')>OH-房屋提单/a 我已经获得了VBA代码,可以从excel工作表1的单元格A1中获取一个数值,以预先填充搜索框,单击搜索按钮,并列出几个超链接。我需要代码的第二部分来点击一个名为“OH-房屋提单”的超链接(如上)。我不知道这是否是因为这是一个aspx页面,但我尝试过谷歌搜索和使用其他代码,但都没有用

到目前为止,我掌握的代码是:

Public Sub IE_Search_and_Extract() Dim URL As String Dim IE As SHDocVw.InternetExplorer Dim htmlInput As MSHTML.HTMLInputElement Dim htmlColl As MSHTML.IHTMLElementCollection Dim HTMLdoc As HTMLDocument URL = "http://eglsiis12c.egl.corp/docvisionsearch/DocVisionSearch.aspx" Set IE = Get_IE_Window(URL) If IE Is Nothing Then Set IE = New SHDocVw.InternetExplorer End If With IE SetForegroundWindow .hwnd .Navigate URL .Visible = True While .Busy Or .ReadyState READYSTATE_COMPLETE DoEvents Wend .Document.getElementById("House1_txtHouseBillNum").Value = ActiveSheet.Cells(1, 1) .Document.getElementById("House1:btnHouseSearch").Click While .Busy Or .ReadyState READYSTATE_COMPLETE DoEvents Wend End With Call Uppercase End Sub Sub Uppercase() Dim IE As SHDocVw.InternetExplorer Set IE = IE.Document.getElementsByTagName("a") For Each IE In IE.Document.getElementsByTagName("a") If InStr(IE.innerText, "OH - Bill Lading of Lading") > 0 Then IE.Click Next End Sub 公共子项IE_搜索_和_摘录() 将URL设置为字符串 Dim IE作为SHDocVw.InternetExplorer 将htmlInput设置为MSHTML.HTMLInputElement 将htmlColl变暗为MSHTML.IHTMLElementCollection 将HTMLdoc设置为HTMLDocument URL=”http://eglsiis12c.egl.corp/docvisionsearch/DocVisionSearch.aspx" 设置IE=获取IE窗口(URL) 如果我什么都不是 设置IE=New SHDocVw.InternetExplorer 如果结束 与IE SetForegroundWindow.hwnd .浏览网址 .Visible=True 当.Busy或.ReadyState ReadyState\u完成时 多芬特 温德 .Document.getElementById(“House1_txtHouseBillNum”).Value=ActiveSheet.Cells(1,1) .Document.getElementById(“House1:btnHouseSearch”)。单击 当.Busy或.ReadyState ReadyState\u完成时 多芬特 温德 以 大写 端接头 次大写() Dim IE作为SHDocVw.InternetExplorer 设置IE=IE.Document.getElementsByTagName(“a”) 对于IE.Document.getElementsByTagName(“a”)中的每个IE 如果InStr(即innerText,“OH-提单”)>0,则IE.单击 下一个 端接头
我尝试将它作为两个单独的宏来执行,因此调用大写。有什么建议吗

您是否尝试过
如果InStr(IE.innerText,“OH-提单”)>0那么IE.href
是的,刚刚尝试过,仍然会给我一个错误您遇到了什么错误?或者运行宏时什么也没发生。运行时错误“91”:对象变量或设置了块变量注释,如果我删除第二个宏,第一个宏只需在网站中输入一个数字并点击搜索即可。但我看不出有什么对象,我也没有在第二个宏中使用任何“with”命令。@QHarr不幸的是,这个问题是很久以前在以前的工作中提出的,我不记得了。抱歉。您是否尝试过
如果InStr(IE.innerText,“OH-提单”)>0那么IE.href
是的,刚刚尝试过,仍然给我一个错误您得到的错误是什么?或者运行宏时什么也没发生。运行时错误“91”:对象变量或设置了块变量注释,如果我删除第二个宏,第一个宏只需在网站中输入一个数字并点击搜索即可。但我看不出有什么对象,我也没有在第二个宏中使用任何“with”命令。@QHarr不幸的是,这个问题是很久以前在以前的工作中提出的,我不记得了。很抱歉