Windows 10 IE не работает со старым кодом VBA - PullRequest
0 голосов
/ 17 января 2019

Я написал код в VBA пару лет назад, чтобы открыть веб-сайт в IE и заполнить текстовые поля данными из файла Excel. К сожалению, я использую Windows 10 сейчас, и эта программа больше не работает. Он открывает сайт без проблем, но не может перенести данные в текстовые поля. Он просто открывает сайт и останавливается (данные не вводятся).

Программа по-прежнему работает в IE в Windows 7 без каких-либо проблем. Я пробовал несколько ноутбуков с Windows 10, и проблема повторяется.

Я попытался изменить свой код в конце с IE.Document.All("Response_123").Value на IE.Document.getElementById("Response_123"), чтобы посмотреть, скопирует ли это мои значения Excel в текстовое поле, но он просто остался пустым.

Sub test()
Dim IE As Object

WebAddress = "https://CONFIDENTIAL_URL.com/"


    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

  Set IE = CreateObject("InternetExplorer.Application")

  IE.Visible = True
  IE.Navigate WebAddress

  While IE.busy
    DoEvents  'wait until IE is done loading page.
  Wend

  Application.wait (Now + TimeSerial(0, 0, 4))

  IE.Document.getElementById("Response_123").Value = ThisWorkbook.Sheets("Sheet1").Range("B5")
End Sub

Я ожидаю, что значение в моем листе Excel на B5 будет скопировано в текстовое поле с идентификатором "Response_123" (получено из текстового поля правой кнопкой мыши> inspect), но оно ничего не копирует и остается пустым. Опять же, у меня нет проблем, чтобы заставить мой код работать в Windows 7.

1 Ответ

0 голосов
/ 17 января 2019

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

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