我正在尝试编写一个允许使用默认值的可选参数的 VBA 子程序。我尝试了来自 Microsoft Docs - 可选参数 (Visual Basic) 的示例代码,但这导致该子程序在可用子程序列表中不显示(即从“查看宏”中)。
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters"
End If
' Insert code to notify headquarters or specified office.
End Sub
我尝试了 sub 声明,但无法显示出来的内容是:
Sub HighlightByFont( _
Optional ByVal highlightFont As Variant = "", _
Optional ByVal highlightColor As Variant = "", _
Optional ByVal highlightText As Variant = "", _
Optional ByVal matchWildcards As Variant = False, _
Optional ByVal useGUI As Variant = False, _
Optional ByVal highlightBold As Variant = False, _
Optional ByVal highlightItalic As Variant = False)
目前,我只能通过以下方式使用 IsMissing 逻辑 进行解决:
Sub HighlightByFont( _
Optional ByVal highlightFont As Variant, _
Optional ByVal highlightColor As Variant, _
Optional ByVal highlightText As Variant, _
Optional ByVal matchWildcards As Variant, _
Optional ByVal useGUI As Variant, _
Optional ByVal highlightBold As Variant, _
Optional ByVal highlightItalic As Variant)
是否(仍然)有可能设置参数声明?如果可以的话,应该如何操作:
- 如何设置参数声明?
- 如何使其出现在“查看宏”列表中?
环境:
- Word 2016 x64
- Windows 10
† 所有参考资料,包括与VBA可选参数相关的SO答案都来自2015年。