Seb*_*ian 8 parameters vba default optional
我在MS Access的VBA脚本中有一个私有过程:
Private Sub drawLineDiagram(chartSpace As Variant, title As String, caption As String, x_val() As Variant, y_val() As Variant, Optional y_val2() As Variant = ????)
如您所见,我希望为值数组提供可选的最后一个参数.
我必须分配什么样的默认参数?如果我用一个可选的整数值来做它并指定它,例如0就可以了.
如果我使用如上所示的数组并分配一个数组,该行被标记为red =>作为错误(并且它将不会编译).
GSe*_*erg 11
如果您需要VBA中的可选数组,请将其声明为Variant没有数组指定程序,但无论如何都要将其作为数组访问.这样你得到一个Variant(单个变量),它包含一个Variants 数组,而不是Variants 数组.无需默认值:
Private Sub drawLineDiagram(chartSpace As Variant, title As String, caption As String, x_val As Variant, y_val As Variant, Optional y_val2 As Variant)
Run Code Online (Sandbox Code Playgroud)
为了保持一致性,还将Variant其他两个参数声明为plain s.
如果您讨厌IDE,请不要使用它.使用记事本.然后粘贴编写的代码.
也许你想要一个参数数组:
在过程声明中,以正常方式定义参数列表.必须要求除最后一个参数之外的所有参数(不是可选(Visual Basic)).
使用关键字ByVal ParamArray在最后一个参数名称前面.此参数自动可选.不要包含Optional关键字.
- 如何:重载一个采用无限数量的参数的过程(Visual Basic)
VBA参考:了解参数数组