几年前,我用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中工作的问题。
答案 0 :(得分:0)
我想出了解决方案。上面的代码没什么错,只是IE中的安全设置。默认情况下,它们设置为中高,因此我将它们更改为中,代码运行正常。