运行时错误91宏打在网站上的Excel VBA
问题描述:
搜索按钮,这个小脚本应该去的网站 http://finra-markets.morningstar.com/BondCenter/Default.jsp运行时错误91宏打在网站上的Excel VBA
插入选项卡“搜索”的"Symbol/Cusip"
箱内数量111320AE7
并点击在"Show Results"
按钮上获得结果。
Sub SearchSite()
Dim beta
Dim objIE As InternetExplorer
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.navigate "http://finra-markets.morningstar.com/BondCenter/Default.jsp"
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
objIE.document.getElementById("firscreener-cusip").Value = "111320AE7"
Set beta = objIE.document.getElementsByClassName("ms-finra-advanced-search-btn")(1)
beta.Click
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
'objIE.Quit
End Sub
我得到运行时错误91: Object variable or With block variable not set
的问题似乎是beta.click
线
我希望得到一些帮助。 非常感谢。
答
Beta引用包含按钮的div。元素数组以0为底。它们从0开始不为1.
Sub SearchSite()
Dim beta, buttons, btnReset, btnSubmit
Dim objIE As InternetExplorer
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.navigate "http://finra-markets.morningstar.com/BondCenter/Default.jsp"
Do While objIE.Busy = True Or objIE.readyState <> 4
Loop
objIE.document.getElementById("firscreener-cusip").Value = "111320AE7"
Set beta = objIE.document.getElementsByClassName("ms-finra-advanced-search-btn")(0)
' <div class="ms-finra-advanced-search-btn">
' <input class="button_blue" value="CLEAR CRITERIA" type="reset">
' <input class="button_blue" value="SHOW RESULTS" type="submit">
' </div>
Set buttons = beta.GetElementsByTagName("input")
WScript.Echo buttons(0).outerHTML
' <input class="button_blue" value="CLEAR CRITERIA" type="reset">
Set btnReset = buttons(0)
' <input class="button_blue" value="SHOW RESULTS" type="submit">
Set btnSubmit = buttons(0)
beta.btnSubmit
Do While objIE.Busy = True Or objIE.readyState <> 4
Loop
objIE.Quit
End Sub
+0
很好的帮助!非常感谢! – aeb30
如果你在线上放置了一个断点并调试了你的代码,那么我认为你会发现'beta'没什么。问题将出现在设置“beta”的前一行。解决这个问题,你会好起来的, – DeanOC