Итак, я думал, что я приблизился к этому, код проходит через столбец нерафинированных адресов, генерирует URL-адрес поискового запроса в другом, а затем тянет адрес, который Google записывает в третий столбец.Вложенная петля в VBA не работает, из-за разных циклов?
Прежде чем я смог заставить его работать, если я указал местоположение ячейки, я хочу, чтобы он работал, опуская каждый URL-адрес в столбце и записывая адрес один за другим.
Так я думал, что «давайте поставить getElementsByClassName в другую петлю»
Само собой разумеется это не работает, я получаю ошибку автоматизации на линии IE.Navigate.
Private Sub CommandButton1_Click()
Dim IE As Object
' Create InternetExplorer Object
Set IE = CreateObject("InternetExplorer.Application")
' You can uncoment Next line To see form results
IE.Visible = False
'START LOOP
' URL to get data from
For r = 2 To 3
IE.navigate Sheets("Sheet1").Cells(r, "A").Value
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
Dim dd As String, c
' Runs loops to look for the value within the classname, if classname alternates it will change the element, if null it will exit.
For Each c In Array("vk_sh vk_bk", "_Xbe")
On Error Resume Next
dd = IE.document.getElementsByClassName(c)(0).innerText
On Error GoTo 0
If Len(dd) > 0 Then Exit For
' Gives a confirmation message and writes the result to a cell
Cells(r, "C").Value = dd
Next
Next r
' /LOOP
' Show IE
IE.Visible = False
' Clean up
Set IE = Nothing
End Sub
Примечания:
От 2 до 3 является правильным, список довольно длинный, поэтому я хочу, чтобы проверить его с помощью всего 2 адреса первой.
Может ли кто-нибудь более опытный в VBA сказать мне, где я иду не так?
ОБНОВЛЕНО: Изменен диапазон ячеек для
Можете ли вы дать несколько примеров URL-адресов? –
Конечно [ссылка] https://www.google.com.au/search?q=+Bathurst+92+Corporation+Ave+Robin+Hill+NSW+2795 [ссылка] https: // WWW. google.com.au/search?q=+Priceline+Mascot [ссылка] https://www.google.com.au/search?q=+Null+Test Соответственно, они 1. Хорошие, но не совершенный адрес, 2. Бесполезно, пока не наберете адрес google 2. Null checker, чтобы убедиться, что он все равно может работать, если адрес не найден. –
Извините за комментарии, я новичок в этом. –