任何人的简单上架。我编写了一个函数isMac()
来查看当前的操作系统,如果前三个字母是Mac,它应该返回True
。然后我想将函数的返回值赋给另一个函数中的变量。我目前正在运行Mac,因此当我运行以下代码时,MsgBox
说True
,而Debug.Print
返回False
Function isMac() As Boolean
If Left(Application.OperatingSystem, 3) = "Mac" Then
result = True
Else
result = False
End If
MsgBox result
End Function
Sub test()
Debug.Print isMac()
End Sub
如何从IF语句中正确返回布尔值,以便我可以在另一个函数中使用它?
答案 0 :(得分:2)
尝试将结果分配给函数。
Function isMac() As Boolean
isMac = CBool(LCase(Left(Application.OperatingSystem, 3)) = "mac")
End Function
Sub test()
Debug.Print isMac()
End Sub
另一种方法是编译器指令和Compiler Constants。在模块代码表的声明区域中,
#If Mac Then
Public Const bMAC as Boolean = True
#Else
Public Const bMAC as Boolean = False
#End If
在代码中的任何位置使用bMAC
来确定操作系统是否为Mac。