【问题标题】:Windows 10 IE is not working with old VBA codeWindows 10 IE 不能使用旧的 VBA 代码
【发布时间】:2019-01-19 01:29:32
【问题描述】:

几年前,我用 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

我希望将 B5 处的 Excel 工作表中的值复制到 ID 为“Response_123”的文本框中(通过右键单击文本框 > 检查获得),但它不会复制任何内容并保持空白。同样,让我的代码在 Windows 7 中运行没有问题。

【问题讨论】:

  • 请发布至少部分 HTML 代码,其中包含目标元素以及它嵌套到 <body> 的所有元素。比较 Win 7 和 10 的 HTML。
  • 这似乎重复了您之前的问题。由于他们似乎专注于同一个问题,您可以关闭此问题,然后将您的答案发布在较早的问题上。我很高兴你得到了答案!

标签: excel vba internet-explorer windows-10


【解决方案1】:

我想出了解决办法。上面的代码没有问题,只是IE中的安全设置。默认情况下,它们设置为中高,所以我将它们更改为中并且代码运行良好。

【讨论】:

  • 从您的上一篇文章中,我可以看到您已经解决了您的问题。我建议您在 24 小时后将该解决方案标记为该问题的可接受答案,这可能有助于解决类似问题的其他社区成员。另一件事我想通知您,您无需为同一问题创建新线程并删除旧线程。您需要在同一线程上继续讨论。参考:-stackoverflow.com/questions/54224550/…
猜你喜欢
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-08
相关资源
最近更新 更多