Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 将对象用作函数的变量_Function_Vba_Object - Fatal编程技术网

Function 将对象用作函数的变量

Function 将对象用作函数的变量,function,vba,object,Function,Vba,Object,我正在尝试创建一个名为wait的函数,该函数将使用一个对象: Function wait(browser As Object) ' loop until the page finishes loading Do While browser.READYSTATE <> 4 Loop End Function 以及: 但我得到了“运行时错误'424';需要对象。 有什么想法吗?换一行 wait (appIE) 到

我正在尝试创建一个名为wait的函数,该函数将使用一个对象:

Function wait(browser As Object)
            ' loop until the page finishes loading
            Do While browser.READYSTATE <> 4
            Loop
End Function
以及:

但我得到了“运行时错误'424';需要对象。 有什么想法吗?

换一行

wait (appIE)

解释:在VBA中,每当调用具有参数的函数时,如果没有使用返回值执行任何操作,则必须在不使用括号的情况下调用它。在这种情况下,由于代码没有返回任何内容,因此应将其定义为
,而不是
函数
。同样的情况也适用要
Sub
例程,这些例程也需要参数,即,您必须在调用它时不带括号,参数之间用逗号分隔


进一步阅读(via):

GetIE函数工作正常,在添加等待时抛出错误function@AdamVoga同意。我刚刚在Excel中测试了你的代码并找到了问题所在。请参阅我上面更新的答案。为什么括号会有区别?这与“复制”有关吗?@AdamVoga刚刚更新了答案并解释了问题,所以其他人都会A也从中受益。+1,更多关于这方面的信息,请阅读以下内容,
Dim appIE As Object
Set appIE = GetIE


sURL = "http://google.com"

wait (appIE)
wait (appIE)
wait appIE