Использование Excel VBA для автоматизации заполнения форм в Internet Explorer - PullRequest
0 голосов
/ 31 октября 2018

Я хочу взять значения из таблицы Excel и сохранить их в массиве. Затем я хочу взять значения из массива и использовать их для заполнения веб-формы.

Мне удалось сохранить значения в массиве, и мне удалось заставить VBA открыть Internet Explorer (IE)

Код выполняется и ошибки не появляются, но текстовые поля не заполняются, и кнопка не нажимается

(отладчик указывает на [While .Busy] в качестве источника ошибки, расположенного в блоке WITH)

Как мне заполнить форму (всего 3 текстовых поля для заполнения)?

Существует также раскрывающееся меню, из которого мне нужно выбрать значение, но мне нужно заполнить текстовые поля, прежде чем перейти к этой части задачи.

Sub CONNECT_TO_IE()
the_start:   
Dim ie As Object
Dim objElement As Object
Dim objCollection As Object




acct = GET_CLIENT_NAME()
name = GET_CODE()

Set ie = CreateObject("InternetExplorer.Application")


ie.Visible = True
ie.navigate ("<<my_website>>")
   ie.FullScreen = False

    On Error Resume Next
       Do
       DoEvents
       If Err.Number <> 0 Then
       ie.Quit
       Set ie = Nothing
       GoTo the_start:
       End If
       Loop Until ie.readystate = 4

Application.Wait Now + TimeValue("00:00:10")

ie.Document.getElementbyid("<<field_1>>").Value = "PPP"
ie.Document.getElementbyid("<<field_2>>").Value = "PPP"
ie.Document.getElementbyid("<<field_3>>").Click


Set ie = Nothing
End Sub

1 Ответ

0 голосов
/ 01 ноября 2018

ОБНОВЛЕНИЕ: Оказывается, причина того, что это не сработало, заключается в том, что в HTML-коде сайта есть некоторые настройки, которые не допускают автоматизации, поэтому все версии кода, которые у меня были, были правильными, но они были обречены на неудачу. , Таким образом, вы были правы в этом отношении @ TimWilliams.

Я знаю это, потому что веб-сайт, к которому я пытался получить доступ, находится на защищенном сервере / виртуальной машине. Я отредактировал код, чтобы заполнить панель поиска Google, и он не работал на виртуальной машине, однако, когда я запускал тот же код локально, он работал нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...