Я пытаюсь написать макрос для доступа к данным с веб-портала, где мне нужно запустить веб-сайт и нажать кнопку «открыть в excel».VBA Web Automation
Я запустил веб-страницу в порядке, но я не могу нажать ссылку. Я понимаю, я должен быть в состоянии сделать что-то похожее на это:
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>
Может кто-нибудь точно определить, что от этого я должен сосредоточиться на для этого?
Edit: Я пытался 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
Вы можете получить getElementbyID. Browser.Document.getElementbyID («BUTTON_TOOLBAR_STANDARD_btn7_acButton»). Нажмите –
спасибо, я пробовал это, но я столкнулся с ошибкой, когда метод документа не распознается. Я обновил, чтобы включить мой пример кода, знаете ли вы, как это решить? –
** (1) ** добавьте ссылку «Microsoft Internet Controls» на [это] (https://msdn.microsoft.com/en-us/library/ms970672.aspx) и 'Dim ie, как SHDocVw.InternetExplorer: set ie = new SHDocVw.InternetExplorer', а не использовать общий «объект». ** (2) ** Используйте событие «NavigateError», чтобы проверить, действительно ли выполняется «Навигация». ** (3) ** В редакторе VB установите точку останова на строке 'getElementById' и используйте окно« Смотреть », чтобы увидеть, действительно ли' ie.Document' является действительным объектом при попытке вызвать 'getElementById'. – cxw