VBA编译错误原因和解决方案是什么?

时间:2015-06-16 20:27:41

标签: excel-vba vba excel

    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

我一直在使用这段代码,它在我的计算机上运行得很好,但是当我与其他人共享文件时,某些计算机无法运行代码并出现此错误。任何人都知道这个问题的解决方案,请帮忙。

2 个答案:

答案 0 :(得分:2)

我最好的猜测是,Internet Explorer的版本有所不同。当遇到VBA中不同计算机之间的版本问题时,您可以使用工具>>引用切换到后期绑定。

要使用后期绑定,请从

更改代码
Set myIE = New InternetExplorer

要:

Set myIE = CreateObject("InternetExplorer.Application")

现在,只要其他计算机安装了任何版本的Internet Explorer,此代码就可以使用。

答案 1 :(得分:0)

检查代码中提到的引用是否为sill set(工具>引用...)。如果这不起作用,最后的方法是更改​​引用的顺序(vb窗口中的“工具”菜单)。不幸的是,这只是反复试验..