我正在尝试创建一个名为wait的函数,它将使用一个对象:
Function wait(browser As Object)
' loop until the page finishes loading
Do While browser.READYSTATE <> 4
Loop
End Function
我也有:
Function GetIE() As Object
On Error Resume Next
Set GetIE = CreateObject("InternetExplorer.Application")
End Function
和
Dim appIE As Object
Set appIE = GetIE
sURL = "http://google.com"
wait (appIE)
但是我得到“运行时错误'424';需要对象。 有什么想法吗?
答案 0 :(得分:2)
更改此行
wait (appIE)
到
wait appIE
解释:在VBA中,每当您调用具有参数的Function时,如果您没有对返回值执行任何操作,则必须在没有括号的情况下调用它。在这种情况下,由于代码没有返回任何内容,因此应将其定义为Sub
而不是Function
。同样的事情也适用于带有参数的Sub
例程,即你必须在没有括号的情况下调用它,参数用逗号分隔。
进一步阅读(通过@doug):Quick VBA Tip: Parentheses