若開啟文件時,想同時顯示自製的工具列,可在 VBE 環境中,
雙擊 〝ThisWorkBook〞,在 內建的 Private Sub Workbook_Open() 程序中,
加入底下的程式碼即可。
Private Sub Workbook_Open()
Dim myNewBar As CommandBar '宣告工具列物件
Dim myButton1 As CommandBarButton '宣告工具列按鈕物件
Dim myButton2 As CommandBarButton
Set myNewBar = Application.CommandBars.Add '新增一個工具列
myNewBar.Name = "YDM-Bar" '工具列命名
With myNewBar
Set myButton1 = .Controls.Add(msoControlButton)
With myButton1
.Style = msoButtonCaption '只顯示文字 底下這3種型式選一種
'.Style = msoButtonIcon '只顯示小圖示
'同時顯示文字和小圖示
'.Style = msoButtonIconAndCaption msoComboLabel
.BeginGroup = True
.Caption = "測試" '顯示在工具列上的按鈕文字
.TooltipText = "測試" '滑鼠移過去時,所顯示的提示文字
.FaceId = 159 '小圖示
.Tag = "MyCustomTag"
.OnAction = "MainVBA" '設定按下此鍵時所要執行的巨集
End With
.Position = msoBarTop '工具列擺放在上層
.Visible = True
End With
End Sub
註1:按鍵的數量可以隨自己需求去增加。
註2:小圖示所對應到的FaceID 可到底下這個網站去下載所提供的『增益集』
http://skp.mvps.org/faceid.htm
註3:按下該按鈕後所要執行的巨集,寫在 OnAction 屬性中。
上面的程式碼可達成顯示自製工具列的目地,但每次開啟該檔都會新增自製的
工具列,會造成同名字的錯誤訊息!故還得在另一個內建的程序中寫入底下的
程式碼:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("YDM-Bar").Delete
End Sub
這樣在關閉該文件時,會先將該工具列刪除,就不會造成錯誤訊息。
留言列表