返回布尔值的函数?

16

我在VBA中有一个简单的函数,我需要检查它是否成功执行。我不太了解VBA,所以不知道是否可能。我想做这样的事情:bool X=MyFunction()

我在QTP描述性编程中使用VBA。这个方法不起作用:

Function A as Boolean
   A=true
End Function

它说: 预期语句

但是我在我的方法中看不到任何返回类型等。

5个回答

31
function MyFunction() as Boolean
    .....
    .....
    MyFunction = True 'worked
end function

dim a as boolean = MyFunction()

12
在VBA中,你可以通过将值赋给与函数同名的变量来设置函数的返回值。
Function MyFunc() as Boolean
    MyFunc = True
End Function

谢谢,我尚未在QTP中编写其VBA代码。当我尝试时,它会显示“需要语句”。 - Mirial
惠普的Quick Test Professional。 - Mirial
1
那么你正在使用VBScript,而不是VBA。VBScript函数语句文档:http://msdn.microsoft.com/en-us/library/x7hbf8fa - codeape

4
我猜你可能正在使用VBScript而不是VBA? 如果是这样,那么VBScript不会声明Type。
这将在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

1

在VBA中,没有真正的方法来检查函数是否有效。您必须自己决定函数是否成功。例如:

Function AFunction() as Boolean
    on error goto 1
    MyFunc = True
    AFunction = True
    Exit Function
    1
    AFunction = False
End Function

上述内容将告诉你函数是否失败。如果它失败了,那么它会转到标签“1”,然后返回false;否则,它将返回true。

如果你不是在寻找“错误”,那么你必须决定返回或提供的数据是否正确。一种方法是返回一个特定值[错误码],表示失败。


0
如果您可以访问函数声明,可以为其设置布尔返回类型,并根据执行情况返回true或false。 一旦您的函数返回一个布尔值,您的代码就会正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接