VBA完成互联网表格

时间:2017-03-29 13:38:02

标签: html excel vba internet-explorer

我正在寻找一个代码,将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")中出现错误。值=" xxxx行,它显示方法'文档'对象' IWebBrowser 2'失败。

我正在寻找解决这个问题的建议:我做了很多研究而没有任何作用:/

提前致谢:)

1 个答案:

答案 0 :(得分:0)

Ana的 这是一个有效的例子。您可以轻松地自定义这些代码以适合您。有一次你必须意识到我在 TOOLS - >下添加了对我的项目的引用。偏好 - > 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