有没有一种方法可以通过not
以下方式将语句与函数结合起来:
我希望它像这个例子一样工作
MsgBox not False
返回True
。
但是如果我添加一个函数而不是布尔语句
MsgBox not myFunction()
然后它返回一个mismatch error
.
myFunction()
应该返回True
或False
有什么建议么?
您需要向我们提供更多代码,如下所示:
Public Sub test()
MsgBox Not myfunction()
End Sub
Function myfunction() As Boolean
myfunction = False
End Function
简单地
MsgBox Not Application.Evaluate(myFunction)
myFunction 定义为什么?如果不是:
Function myFunction(...) As Boolean
'...
End Function
这就是为什么“非”运算符保留给布尔值(真/假)
如果你的函数是这样的并且只接收 1 和 0:
Function myFunction(...) As Integer
将此添加到通话中:
MsgBox not CBool(myFunction(...))
或者如果您实际上是在尝试比较文本:
Function myFunction(...) As String
那么你将需要:
编辑:不是string.compare,(StrComp(Str1,Str2,vbTextCompare)= 0)
希望有帮助:)