10的Windows Internet Explorer中不可用旧VBA代码的工作(Windows

2019-10-29 04:02发布

我在VBA编写代码一对夫妇多年前在IE中打开一个网站,并从Excel文件填写数据文本框。 不幸的是,我使用的是Windows 10现在这个程序没有工作了。 它打开没有问题的网站,但不能转数据到文本框。 它只是打开网页和摊位(没有输入数据)。

该项目仍然在IE在Windows 7中,没有任何问题。 我试着多的笔记本电脑与Windows 10和问题重新出现。

老实说,我不知道如何解决这个问题。

DoEvents
WebAddress = "CONFIDENTIAL URL HERE" & WebID & "&t=" 

        Dim IE As Object

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual


  Set IE = CreateObject("InternetExplorer.Application")

  IE.Navigate WebAddress
  IE.Visible = True
  While IE.busy
    DoEvents  'wait until IE is done loading page.
  Wend

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

  IE.Document.All("Response_123").Value = ThisWorkbook.Sheets("Sheet1").Range("B5")

代码的最后一行应该从Excel文件在Internet Explorer中的数据传输到文本框,但没有任何反应和文本框保留为空白。 我需要在我的代码进行任何更改,占窗口10 IE?

Answer 1:

你可以看到你的代码是不是写在一个有效的方式。 对于另一种方法,你可以参考下面的例子这是工作的罚款与Windows 10。

Dim IE As Object

Sub demo()
    Application.ScreenUpdating = False

    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.Navigate "C:\Users\Administrator\Desktop\sample.html"


    While IE.Busy
        DoEvents
    Wend

    wait 1
    IE.Document.getElementById("firstname").Value = ThisWorkbook.Sheets("Sheet1").Range("A1")
    wait 1
    IE.Document.getElementById("lastname").Value = ThisWorkbook.Sheets("Sheet1").Range("A2")
    wait 1
    IE.Document.getElementById("submit_btn").Click

    IE.Quit
    Set IE = Nothing

    Application.ScreenUpdating = True
End Sub

Private Sub wait(seconds As Long)
    Dim endTime As Date
    endTime = DateAdd("s", seconds, Now())
    Do While Now() < endTime
        DoEvents
    Loop

End Sub

输出:

如果我们谈论你上面贴的代码比你可以尝试把破发点上线,并尝试调试代码。 检查哪个值由单元格B5包含并检查线路是否获得成功或不执行。 出于测试目的,尽量静态值分配给该文本框。



文章来源: Windows 10 Internet Explorer is not working with old VBA code