下面的代码产生以下错误,由OnAction部分引起:“错误的参数数量或无效的属性赋值”。
Sub GetContent(control As IRibbonControl, ByRef returnedVal)
Dim xml As String
Dim i As Integer
lastRow = ActiveSheet.Range("A100").End(xlUp).Row
xml = "<menu xmlns=""http://schemas.microsoft.com/office/2009/07/customui"">"
For i = 2 To lastRow
xml = xml & "<button id=" & """but" & i & """" & " label=""" & ActiveSheet.Range("A" & i).Value & """" & " onAction=" & """" & ActiveSheet.Range("B" & i).Value & """" & " />"
Next
xml = xml & "</menu>"
returnedVal = xml
End Sub
目标是根据工作表中两列中的输入在功能区中创建动态菜单,其中一列具有表名(A),另一列具有宏名称(B)。
答案 0 :(得分:2)
我刚刚找到了解决方案。我在尝试使用onAction语句执行的宏中需要以下内容:
ByRef control As IRibbonControl
这样:
Sub Table1(ByRef control As IRibbonControl)
code
end sub