是否可以定义VBA功能,以便它只接受特定的预定义值作为参数值?例如,如果我创建一个这样的函数:
Function Test(vTxt as Boolean)
Msgbox vText
End Function
并从任何其他Sub调用它我必须为vTxt
给出正确或错误,并且它不会接受任何其他值。例如,我可以将Test
称为:
Sub Example ()
Call Test(True)
End Sub
这样,我可以在函数中设置其他参数,以便调用者只能从预定选项中进行选择吗?例如:
Function Test2(vTxt as <something>)
Msgbox vText
End Function
并且在呼叫Test2
时,呼叫者必须为变量vTxt
指定选项1,选项2或选项3。我不想创建多个可选参数,只是一个具有多个预定值的参数。我可以将哪些内容用于<something>
?
答案 0 :(得分:1)
我认为您希望为用户提供有限数量的参数选择。 Enum types是一种方法。在模块的开头,创建您的类型:
Public Enum TestChoices
Option1
Option2
Option3
End Enum
然后,在您的函数中,使用TestChoices
参数:
Sub Test(vMsg as TestChoices)
Dim message as String
Select Case vMsg
Case Option1: message="option 1 selected"
Case Option2: message="option 2 selected"
Case Option3: message="option 3 selected"
End Select
MsgBox message
End Sub
另请参阅MSDN docs for enums。