Windows 10 IE无法使用旧的VBA代码

时间:2019-01-17 16:40:45

标签: excel vba internet-explorer windows-10

几年前,我用VBA编写了代码,以在IE中打开一个网站,并用Excel文件中的数据填充文本框。不幸的是,我现在正在使用Windows 10,并且该程序无法正常工作。它可以毫无问题地打开网站,但是不能将数据转置到文本框中。它只是打开网站并停滞(没有输入数据)。

该程序仍可在Windows 7的IE中正常运行。我在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处的值复制到ID为“ Response_123”(通过右键单击文本框> inspect获得)的文本框中,但不会复制任何内容并保持空白。同样,我也没有让我的代码在Windows 7中工作的问题。

1 个答案:

答案 0 :(得分:0)

我想出了解决方案。上面的代码没什么错,只是IE中的安全设置。默认情况下,它们设置为中高,因此我将它们更改为中,代码运行正常。