Set myIE = New InternetExplorer
myIE.Silent = True
myIE.navigate sURL
myIE.Visible = False
Do While myIE.Busy
Do Until myIE.ReadyState = READYSTATE_COMPLETE
Loop
Loop
Application.Wait (Now() + TimeValue("00:00:02"))
Set HTMLDoc = myIE.document
HTMLDoc.getElementById("loginID").Value = ICUSER
HTMLDoc.getElementById("password").Value = ICPASS
For Each oHTML_Element In HTMLDoc.getElementsByTagName("input")
If oHTML_Element.Type = "submit" Then oHTML_Element.Click: Exit For
Next
Application.Wait (Now() + TimeValue("00:00:02"))
' Read and Write Data to the reports
Application.DisplayAlerts = False
End Sub
我一直在使用这段代码,它在我的计算机上运行得很好,但是当我与其他人共享文件时,某些计算机无法运行代码并出现此错误。任何人都知道这个问题的解决方案,请帮忙。
答案 0 :(得分:2)
我最好的猜测是,Internet Explorer的版本有所不同。当遇到VBA中不同计算机之间的版本问题时,您可以使用工具>>引用切换到后期绑定。
要使用后期绑定,请从
更改代码Set myIE = New InternetExplorer
要:
Set myIE = CreateObject("InternetExplorer.Application")
现在,只要其他计算机安装了任何版本的Internet Explorer,此代码就可以使用。
答案 1 :(得分:0)
检查代码中提到的引用是否为sill set(工具>引用...)。如果这不起作用,最后的方法是更改引用的顺序(vb窗口中的“工具”菜单)。不幸的是,这只是反复试验..