我在VBA中有简单的功能,我需要检查它是否已成功执行。我不太了解VBA,所以我不知道它是否可行。我想做这样的事情:bool X=MyFunction()
。
我在QTP描述性编程中使用VBA。这不起作用:
Function A as Boolean
A=true
End Function
它说:Expected statement
但我在方法等中看不到任何返回类型。
答案 0 :(得分:21)
function MyFunction() as Boolean
.....
.....
MyFunction = True 'worked
end function
dim a as boolean = MyFunction()
答案 1 :(得分:8)
在VBA中,通过赋值给与函数同名的变量来设置函数的返回值:
Function MyFunc() as Boolean
MyFunc = True
End Function
答案 2 :(得分:4)
我怀疑你可能在使用VBScript而不是VBA?如果是这种情况,则VBScript不会声明类型
这将在VBScript中起作用
dim test,b
test = 1
b=false
msgbox ("Calling proc before function test=" & test)
msgbox("Calling proc before function b=" & b)
b = A(test)
msgbox ("Calling proc after function test=" & test)
msgbox("Calling proc after function b=" & b)
Function A(test)
test = test +1
A=true
End Function
或在您的示例中
Function A()
A=true
End Function
答案 3 :(得分:1)
没有真正的方法可以检查某个功能是否在VBA中有效。您必须自己决定您的功能是否成功。例如:
Function AFunction() as Boolean
on error goto 1
MyFunc = True
AFunction = True
Exit Function
1
AFunction = False
End Function
如果功能失败,上面会告诉您。如果失败,则转到标签“1”然后返回false,否则返回true。
如果您不是'错误',那么您必须确定返回或提供的数据是否正确。一种方法是返回表示失败的特定值[error-code]。
答案 4 :(得分:0)
如果您有权访问函数声明,可以为它设置bool返回类型,并根据执行情况返回true或false。 一旦你的函数返回一个bool,你的代码就可以了。