Excel VBA запрашивает внешнюю страницу .aspx и получает данные

Я боролся с этим в течение дня. По сути, я хочу написать макрос Excel для циклического просмотра списка в Excel, запроса веб-страницы и получения некоторых данных. В идеале я просто хочу получить данные, которые мне нужны, чтобы я мог поместить их в соседнюю ячейку, но я бы сделал все, что нужно в этой точке.

Страница ASP.net, с которой у меня нет опыта; если бы это был .php, я бы, наверное, справился, но я даже не уверен, как публиковать в .aspx через javascript.

Я могу очень хорошо перебирать свои данные, и как только я получу данные, я смогу их записать в Excel, поэтому я борюсь с двумя частями:

Часть 1 - запрос веб-страницы

Это страница, которую я хочу запросить, Мне нужно искать вProperty Address и извлекать данные из результатов. Адрес, который я буду использовать для примера400 W Church St, Я подумал, что может быть просто отправить форму вроде "... / ParcelSearch.aspx? Name = ... & value = ...", но без кубиков.

Часть 2 - захват данных

По результатам есть таблицаDetailsSummary_Master вверх, с наборами полей, которые определены с<legend> теги. Мне нужны данные в<legend>Municipality</legend>:

Я не могу понять, что делать, перебрать<td>s? Я подумал, может быть, я мог бы получить GetElementByID или, возможно, по тегу, но я не могу понять это.

VBA

Я использовал несколько SO потоков, чтобы попытаться понять это до сих пор.Первый, второй а такжеТретий, но я даже не могу, кажется, получить его в POST должным образом. Я пока держу подводные лодки отдельно.

Вот что я (украл из другой ветки) в отношении моей проблемы:

Sub SubmitForm()

Dim objIE As Object
Dim xmlhttp As Object
Dim ieButton As Object
Dim strResponse As String
Dim strUrl As String
Dim strID As String
Dim strValue As String
Dim strSubmit As String

strID = "?name=ctl00_ctl00_ctl00_ctl00_ContentMain_ContentMain_ContentMain_ContentMain_TabContainer1_Searches_SubTabContainer1_QuickSearches_CompositAddressSearch1_AddressSearch1_ctl00_Address&value="
strValue = "400 W Church St"
strSubmit = strID & strValue


strUrl = "http://www.ocpafl.org/searches/ParcelSearch.aspx"
Set objIE = CreateObject("InternetExplorer.Application")
objIE.navigate "about:blank"
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")

'~~> Indicates that page that will receive the request and the type of request being submitted
xmlhttp.Open "POST", "http://www.ocpafl.org/searches/ParcelSearch.aspx", False

'~~> Indicate that the body of the request contains form data
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

'~~> Send the data as name/value pairs
xmlhttp.Send "strSubmit"
strResponse = xmlhttp.responseText
objIE.navigate strUrl
objIE.Visible = True

Do While objIE.readystate <> 4
    DoEvents
Loop

objIE.document.Write strResponse

Set xmlhttp = Nothing

End Sub

На самом деле мне не нужно запускать его через IE, я бы хотел, чтобы все было скрыто. Я запускаю это в Excel 2007 на работе, но у меня дома 2010. У нас тоже смешной IE8, поэтому чем меньше, тем лучше. И я могу зациклить или использовать массив, но я просто не могу взаимодействовать с запросом. Любая помощь будет принята с благодарностью.

Ответы на вопрос(1)

Ваш ответ на вопрос