|
サンプルです。
[標準モジュール]
Sub Test1()
MsgBox "Test1 です。"
End Sub
Sub Test2()
MsgBox "Test2 です。"
End Sub
[ThisWorkbookモジュール]
Private Sub Workbook_Open()
Dim myCB As CommandBar
Dim myCBCtrl As CommandBarControl
On Error Resume Next
'まず初期化
Application.CommandBars("Worksheet Menu Bar").Reset
'対象とするメニューを変数にセット
Set myCB = Application.CommandBars("Worksheet Menu Bar")
'追加するメニュー(Sample1 というポップアップメニュー)
Set myCBCtrl = myCB.Controls.Add(Type:=msoControlPopup)
myCBCtrl.Caption = "Sample1"
'myCBCtrl.BeginGroup = True '区切り線
'Sample1のメニューに追加するボタン1
Set myCBCtrl = myCB.Controls("Sample1").Controls.Add(Type:=msoControlButton)
myCBCtrl.Caption = "てすと1"
myCBCtrl.OnAction = "Test1"
'Sample1のメニューに追加するボタン2
Set myCBCtrl = myCB.Controls("Sample1").Controls.Add(Type:=msoControlButton)
myCBCtrl.Caption = "てすと2"
myCBCtrl.OnAction = "Test2"
Set myCB = Nothing
Set myCBCtrl = Nothing
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet Menu Bar").Reset
End Sub
Private Sub Workbook_Activate()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("Sample1").Visible = True
End Sub
Private Sub Workbook_Deactivate()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("Sample1").Visible = False
End Sub
|
|