Excel VBA:错误438"对象不支持此属性或方法

时间:2016-03-18 17:29:30

标签: excel vba excel-vba

此代码用于使用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

有时只会发生这种情况。

我无法理解为什么错误只会偶尔发生(通常是关键时刻)以及我可以做些什么来阻止它。

让浏览器可见,这一切似乎都很正常。

在类似的答案中我找不到解决方案。

1 个答案:

答案 0 :(得分:0)

使用oHTML_Element.Document.all.Item("var1").Value = var1