2014-09-02 87 views
0

如果我設置了一個子程序,以便可以從客戶功能區按鈕調用它,是否仍然可以從其他子程序調用這些子程序?我得到的參數不是可選錯誤消息,但我不確定傳遞給子例程的參數是什麼,因爲我沒有從功能區按鈕調用,而是從另一個子例程本身調用。Excel自定義功能區按鈕調用其他功能區按鈕的子程序

Sub Reset(ByVal Control As IRibbonControl) 
    Call ResetForumlas 
    Call ResetValues 
End Sub 

Sub ResetForumlas(ByVal Control As IRibbonControl) 
    "Do some stuff" 
End Sub 

Sub ResetValues(ByVal Control As IRibbonControl) 
    "Do Some more stuff" 
End Sub 

感謝您的幫助。

回答

1

請試試看。像這樣

Sub Reset(ByVal Control As IRibbonControl) 
    ResetForumlas 
    ResetValues 
End Sub 

Sub ResetForumlas(ByVal Control As IRibbonControl) 
    "Do some stuff" 
End Sub 

Sub ResetValues(ByVal Control As IRibbonControl) 
    "Do Some more stuff" 
End Sub 
0

沒有,沒有爲我工作,但我設法弄明白。它似乎只是通過傳遞它作爲一個可選變量似乎在這種情況下工作很好。感謝您的幫助。

Sub Reset(Optional ByVal Control As IRibbonControl) 
    ResetForumlas 
    ResetValues 
End Sub 

Sub ResetForumlas(Optional ByVal Control As IRibbonControl) 
    "Do some stuff" 
End Sub 

Sub ResetValues(Optional ByVal Control As IRibbonControl) 
    "Do Some more stuff" 
End Sub 
+0

您還可以創建新的例程以分配給功能區控件,但除了調用其他例程外什麼也不做。那些可以從任何地方被調用,因爲他們不需要IRibbonControl參數。 – Rory 2014-09-03 07:44:40