Diclosure: я просто офисный клерк и очень-очень плохо знаком с VBA и HTML. Надеюсь, вы будете терпеливы со мной. Буду очень признателен за любые рекомендации и помощь. Надеюсь, я правильно отформатировал.
Я провел вчера целый день, пытаясь импортировать информацию с веб-страницы в интрасети для автоматизации копирования и вставки маршрутизации. Это действительно поможет в долгосрочной перспективе.
Так как power-query, кажется, не видит нужную мне таблицу, я решил, что единственный вариант - использовать VBA. Инструмент MsServer отлично захватывает страницу, но к моему разочарованию вышла ошибка, так как она требует авторизации перед первым доступом к ней.
Я подумал, что с использованием IE это должно работать, так как IE имеет регистрационная информация в файлах cookie.
Здесь, где я дошел до этого.
Sub ExtractFromEndeca() Dim ie As InternetExplorer Dim html As
IHTMLDocument Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = False
ie.Navigate "intranet address"
While ie.Busy
DoEvents Wend While ie.ReadyState < 4
DoEvents Wend
Set Doc = CreateObject("htmlfile")
Set Doc = ie.document
Set Data = Doc.getElementById("findSimilarOptions2")
Sheet1.Cells(1, 1) = Data
ie.Quit Set ie = Nothing
ThisWorkbook.Sheets(1).Cells(1, 1) = Data
End Sub
Результатом является [объект] в ячейке A1, и это все, и я не могу понять, получил ли я прошедший логин или нет.
Вот фрагмент страницы, который я пытаюсь взять. В идеале эти данные будут выводиться в виде таблицы.
<td valign="top" id="findSimilarOptions2">
<div class="subtitle">Part Attributes</div>
<input type="checkbox" id="n_200012" value="-19192896" NAME="n_200012">
<b>
ASSY TYPE</b> >
Component<br>
<input type="checkbox" id="n_200013" value="-18148519" NAME="n_200013">
<b>
PARAMETER I NEED(1)</b> >
VALUE I NEED(1)<br>
<input type="checkbox" id="n_200006" value="-20823731" NAME="n_200006">
<b>
PARAMETER I NEED(2)</b> >
VALUE I NEED(2)<br>
<input type="checkbox" id="n_200006" value="-20823618" NAME="n_200006">
<b>
PARAMETER I NEED(3)</b> >
VALUE I NEED(3)<br>
<input type="checkbox" id="n_200006" value="-20823586" NAME="n_200006">
<b>
PARAMETER I NEED(4)</b> >
VALUE I NEED(4)<br>
...