我可以使用 Application.MacroOptions 方法来定义用户定义函数的参数,但 ArgumentDescriptions 似乎不起作用。谁能建议我可能做错了什么?
这是我的UDF:
Function sum_test(p1, p2)
sum_test = p1 + p2
End Function
这是我用来注册函数的宏:
Sub Register_sum_test()
Dim sum_test_Args() As String
Dim sum_test_Desc As String
Dim test
sum_test_Desc = "adds two numbers"
ReDim sum_test_Args(1 To 2)
sum_test_Args(1) = "first number"
sum_test_Args(2) = "second number"
Application.MacroOptions Macro:="Personal.xlsb!sum_test", Description:=sum_test_Desc
Application.MacroOptions Macro:="Personal.xlsb!sum_test", ArgumentDescriptions:=sum_test_Args
End Sub
运行宏后,我可以看到“Description”参数已在Excel中应用。但是“ArgumentDescriptions”没有出现:
应该是:
ReDim sum_test_Args(0 To 1)
sum_test_Args(0) = "first number"
sum_test_Args(1) = "second number"
谢谢@MGonet。我试过了。但还是没用。我还简化了宏代码如下:
Sub Register_sum_test()
Application.MacroOptions Macro:="Personal.xlsb!sum_test", Description:="update: adds two numbers"
Application.MacroOptions Macro:="Personal.xlsb!sum_test", ArgumentDescriptions:=Array( _
"first number", _
"second number")
End Sub
当我运行代码时,更新后的函数向导会更新函数描述,但仍然不显示参数描述: