Я пытаюсь очистить сайт от содержимого различных тегов HTML. Я использую массив тегов HTML против массива URL-адресов.
Sub pArse(UserForm4_HiddenList_Text)
Dim http As New XMLHTTP60
'Dim html As New HTMLDocument
Dim hero_true_Val As Integer
Dim down_var As Integer
Dim bill_array_redim
Dim element_tag As String
Dim address_count As Integer
hero_true_Val = Application.WorksheetFunction.CountIf(Range("B:B"), True)
down_var = 1
bill_array_redim = Split(UserForm4_HiddenList_Text, Chr(10))
ReDim address_array(hero_true_Val)
For Z = 2 To 6
If Sheets("resource").Cells(Z, 2).Value <> "False" Then
address_count = address_count + 1
address_array(address_count) = Sheets("resource").Cells(Z, 1).Value
End If
Next Z
Sheets("Sheet1").Select
For url_stack = 0 To UBound(bill_array_redim)
Sheets("sheet1").Cells(down_var, 1) = bill_array_redim(url_stack)
For what_to_check = 1 To address_count
With http
.Open "GET", bill_array_redim(url_stack), False
.send
Do While http.readyState <> 4
DoEvents
Loop
End With
Dim html As New HTMLDocument
With html
.body.innerHTML = http.responseText
' the next line is where the error occurs
Sheets("Sheet1").Cells(down_var, 2).Value = .querySelector(address_array(what_to_check)).innerText
End With
down_var = down_var + 1
Next what_to_check
Next url_stack
UserForm4.Hide
End Sub
Пользователь нажимает командную кнопку, которая затем передает массив URL-адресов (UserForm4_HiddenList_Text). Затем код проверяет наличие слова «true» на листе с именем «resource». Это создает массив терминов для проверки.
У меня проблема в том, что на второй итерации цикла what_to_check я получаю
ошибка 91: объект или переменная блока не установлена
Я не уверен в том, в чем здесь проблема, и она возникает только в том случае, если я передам два тега html вместо одного.
edit: спасибо, что ответили Синди. Местоположение ошибки выделено жирным шрифтом. Сообщение «Объект или переменная блока не установлена».