【问题标题】:VBA to complete a Internet formVBA 填写互联网表格
【发布时间】:2017-03-29 13:38:02
【问题描述】:

我正在寻找将值从 Excel 放入网页的代码。

Sub FillInternetForm()
  Dim IE As Object
  Set IE = CreateObject("InternetExplorer.Application")

  IE.navigate "http://xxxxxxxx/"
  IE.Visible = True
  While IE.Busy
    DoEvents  
  Wend
  IE.document.getElementById("xxxxx").Value = "xxxx"
End Sub

错误出现在 IE.document.getElementById("xxxxx").Value = "xxxx line 上,它说 Method 'Document' of object 'IWebBrowser 2' failed。

我正在寻找解决这个问题的建议:我做了很多研究,但没有任何效果:/

提前致谢:)

【问题讨论】:

  • 我可以建议一种不同的方法。你看到这个帖子了吗stackoverflow.com/questions/158633/…
  • 试试While ie.Busy Or ie.READYSTATE <> 4
  • @Jeeped 感谢您的帮助。不幸的是它没有工作:(
  • @Miguel 感谢您的帮助。我不明白如何应用您建议的代码

标签: html excel vba internet-explorer


【解决方案1】:

安娜, 这是一个工作示例。您可以轻松地自定义这一点代码来为您工作。有一次您必须注意的是,我在 TOOLS -> Preferences -> Microsoft Internet Controls 下添加了对我的项目的引用。在此行Set Elements 上还有另一个警告,如果您正在寻找不存在的东西,您最终会遇到错误。我放在一起的这个工作示例进入堆栈溢出并找到footer-menu 下面的元素。 如果有什么不明白的地方请告诉我。

Sub TryInternetExplorer()
 'Reference to system32\shdocvw.dll  'Microsoft Internet Controls
Dim IEApp As InternetExplorer
Set IEApp = New InternetExplorer
IEApp.Visible = True
IEApp.Navigate "https://iam.pearson.com/auth/XUI/#login/"
While IEApp.ReadyState <> READYSTATE_COMPLETE And IEApp.ReadyState <> READYSTATE_LOADED
    DoEvents
Wend

'wait for the form to load
Do
Set form = IEApp.Document.getElementsByTagName("FORM")(0) '1st table
DoEvents
Loop While form Is Nothing

 IEApp.Document.getElementsByName("callback_0")(0).Value = "Miguel"
 IEApp.Document.getElementsByName("callback_1")(0).Value = "pass"
 IEApp.Document.getElementsByName("callback_2")(0).Click


Set Document = Nothing
Set IEApp = Nothing


 End Sub

【讨论】:

  • Miguel,当我复制并粘贴您的代码并运行它时,出现此错误:424: object required :(
  • 安娜,您是否按照我上面告诉您的方式添加了参考资料?
  • 设置元素 = Document.getElementById("footer- menu").getElementsByTagName("div")
  • 提前感谢您的帮助(:
  • @Ana 再试一次,我在复制和粘贴时插入的页脚和菜单之间有一个空格。我道歉。确保您的即时窗口已打开,以便您查看结果。
猜你喜欢
  • 2011-11-23
  • 2012-11-24
  • 2016-09-11
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多