作者:15-Sports | 来源:互联网 | 2023-05-18 17:44
我尝试在excel中创建一个功能区,但我很成功.现在我已经为一个按钮分配了一个宏.
Function delete_cells(control As IRibbonControl)
现在,我创建了另一个宏,我需要从中调用该函数delete_cells
.我试着把它称之为下面.
Function modify_cells(control As IRibbonControl)
delete_cells
End Sub
我收到一个错误,说Argument不是可选的.请帮我解决这个错误.
1> Doug Glancy..:
我建议你创建一个单独的子程序,你可以从按钮的OnAction和你要调用它的任何其他地方调用,例如:
'button macro
Sub cmdDeleteCells_OnAction(control as iRibbonControl)
DeleteCells
End Sub
'another Sub that calls the delete routine
Sub SomeOtherSub
DeleteCells
End Sub
'the one they're all talking about
Sub DeleteCells
msgbox "All your cells are toast, bwah hah hah ha!"
End Sub
编辑:如果你真的只想调用按钮的OnAction子,你需要传递一个iRibbonControl对象,所以声明一个假的:
Sub CallTheButtonsCode()
Dim FakeControl As IRibbonControl
cmdDeleteCells_OnAction FakeControl
End Sub
我真的不建议这样做是出于代码维护的原因,但它确实有效.