В настоящее время я создаю файл Excel с макросом VBA для сбора / обновления некоторых данных с веб-сайта. Используемый файл представляет собой базовую c таблицу, в которой первый столбец представляет собой идентификатор (например, «XX55»), а в следующем столбце - описание идентификатора.
В третьем столбце я хотел бы собрать номер на точном веб-сайте (для торговли и т. д. c). Он отлично работает.
Проблема в том, что иногда страница IE загружается пустой. Если я пытаюсь «вручную» загрузить страницу в другом окне IE, это не так! Я действительно не знаю, почему существует эта проблема ...
Кто-нибудь уже сталкивался с такой проблемой? Я думал, что мой IP может быть заблокирован сервером, но так как он работает в новом окне, я так не думаю ...
Вот мой код:
Sub update_value()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim appIE As Object
Set appIE = CreateObject("internetexplorer.application")
Dim i As Variant
Dim myTab As Variant
myTab = Sheets("List").Range("N1:X1").Value
For i = 1 To 200
With appIE
.navigate "https://www.my-website.com/" & LCase(Sheets("List").Cells(i + 1, 1))
.Visible = False
End With
Do While appIE.busy Or appIE.readystate <> 4
DoEvents
Loop
If IsObject(appIE.document.getElementByID("n_value")) Then
myTab(1, 1) = appIE.document.getElementByID("n_value").innerText
Sheets("List").Range("C" & i + 1 & ":M" & i + 1).Value = myTab
Else
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Спасибо за Ваша помощь!
С уважением,
Джерри