新建一個 CommandBarControl 對象並添加到指定命令欄上的控件集合。
Expression.Add ( Type , Id , Parameter , Before , Temporary )
l expression必需。該表達式返回一個 CommandBarControls 對象。
l Type(Variant類型)可選。添加到指定命令欄的控件類型。可以為下列 MsoControlType常量之一:
常量
說明
msoControlButton
命令按鈕
msoControlEdit
文本框
msoControlDropdown
下拉列表
msoControlComboBox
組合框
msoControlPopup
彈出菜單
l Id (Variant 類型)可選。指定內置控件的整數。如果該參數為1 ,或者忽略該參數,將在命令欄中添加一個空的指定類型的自定義控件。
l Parameter( Variant 類型)可選。對於內置控件,該參數用於容器應用程序運行命令。對於自定義控件,可以使用該參數向 Visual Basic 過程傳遞信息,或用其存儲控件信息(類似於第二個 Tag 屬性值)。
l Before(Variant 類型)可選。表示新控件在命令欄上位置的數字。新控件將插入到該位置控件之前。如果忽略該參數,控件將添加到指定命令欄的末端。
l Temporary(Variant 類型)可選。設置為True 將使新命令欄為臨時命令欄。臨時命令欄在關閉容器應用程序時刪除。默認值為 False。
以下代碼示例將您通過編程方式添加的菜單名稱添加到“工作表”菜單欄中。例如,此代碼會將菜單名稱“New Menu”添加到“工作表”菜單欄中。
注意:您可以根據需要為該菜單指定任何名稱。
Sub Menu_Create()
Dim myMnu As Object
Set myMnu = CommandBars("Worksheet menu bar").Controls. _
Add(Type:=msoControlPopup, before:=3)
With myMnu
' "&" 用以指定快捷鍵字符 (相當於Alt+M).
.Caption = "New &Menu"
End With
End Sub
禁用的菜單控件在命令欄中顯示為灰色,並且不可用。以下示例禁用“New Menu”菜單:
Sub Menu_Disable()
CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = False
End Sub
以下代碼示例啟用您在“禁用命令欄上的菜單控件”一節中禁用的 New Menu 菜單:
Sub Menu_Disable()
CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = True
End Sub
以下代碼示例從“工作表”菜單欄中刪除您在“向命令欄添加自定義菜單控件”一節中創建的“New Menu”菜單:
Sub Menu_Delete()
CommandBars("Worksheet menu bar").Controls("New &Menu").Delete
End Sub
以下代碼示例還原“工作表”菜單欄上的內置“圖表”菜單欄:
Sub Menu_Restore()
Dim myMnu As Object
Set myMnu = CommandBars("Chart")
myMnu.Reset
End Sub