此代码用于使用Excel VBA输入网络表单中的值:
Sub Call_Site(var1 As String)
Dim oHTML_Element As Object 'IHTMLElement
Dim sUrl As String
sUrl = "https://www.example.com/page"
Set oBrowser = CreateObject("InternetExplorer.Application") 'New InternetExplorer
oBrowser.silent = True
'oBrowser.timeout = 60
oBrowser.navigate sUrl
oBrowser.Visible = False
With oBrowser
Do While .Busy Or .ReadyState <> 4: Loop
End With
Set HTMLDoc = oBrowser.document.getElementsByClassName("nexcel")(0)
With HTMLDoc
HTMLDoc.getElementById("var1").Value = var1
End With
Exit Sub
它发生在那条线上: HTMLDoc.getElementById(&#34; var1&#34;)。Value = var1
返回错误:
Error 438 "object doesn't support this property or method
有时只会发生这种情况。
我无法理解为什么错误只会偶尔发生(通常是关键时刻)以及我可以做些什么来阻止它。
让浏览器可见,这一切似乎都很正常。
在类似的答案中我找不到解决方案。
答案 0 :(得分:0)
使用oHTML_Element.Document.all.Item("var1").Value = var1