我正試圖編寫一個宏來訪問Web門戶網站的數據,我需要啓動該網站並點擊「在Excel中打開」按鈕。VBA Web自動化
我已經啓動了網頁,但我不能點擊鏈接。我的理解是,我應該能夠做一些類似的:
BrowswerObject.Document.ElementID.Click
,但我不知道正確的元素和編碼是什麼。一個網頁,當我檢查元素時,它有這個代碼:
<A onclick=ur_Button_click(event); tabIndex=0 id=BUTTON_TOOLBAR_STANDARD_btn7_acButton title="Open in Excel" class=urBtnStd onkeydown=ur_Button_keypress(event); style="OVERFLOW: visible; TEXT-ALIGN: center" href="javascript:void(0);" ct="B" ti="0" st="" ocl="sapbi_page.sendCommandArray([['GUID','11',0],['NOUILOCK','X',0],['BI_COMMAND_TYPE','ABSTRACT',0]],event);">Open in Excel</A>
任何人都可以指出什麼,我應該專注於此?
編輯: 我已經試過的getElementById,但我這個錯誤運行在:對象的 方法'文件「的IWebBrowser2」通過示例代碼失敗
是:
Dim ie As Object
Set ie = CreateObject("Internetexplorer.Application")
ie.Visible = True
ie.Navigate *Link*
ie.document.getElementById("BUTTON_TOOLBAR_STANDARD_btn7_acButton ").Click
你可以得到ElementbyID。 Browser.Document.getElementbyID(「BUTTON_TOOLBAR_STANDARD_btn7_acButton」)。單擊 –
謝謝,我試過這個,但我遇到了錯誤,文檔方法無法識別。我更新了包含示例代碼,你知道如何解決這個問題嗎? –
**(1)**爲每個[this](https://msdn.microsoft.com/en-us/library/ms970672.aspx)添加「Microsoft Internet控制」參考,並將Dim ie添加爲SHDocVw.InternetExplorer:設置ie = new SHDocVw.InternetExplorer'而不是使用通用的'Object'。 **(2)**使用'NavigateError'事件來查看'Navigate'是否成功。 **(3)**在VB編輯器中,在'getElementById'行設置斷點並使用Watch窗口查看當您嘗試調用'getElementById'時'ie.Document'實際上是否是有效的對象。 – cxw