「EXCELのメニューバーに独自のメニューを追加するには」
アドインを作成中です。EXCELメニューバーに独自のメニューを追加して、クリック時にVBAを実行したいのですが。
回答
以下のソースを参考にしてください。
ソース
REM 独自のメニューを追加します。
Sub AddMyMenu()
Dim MainMenu As Variant, SubMenu1 As Variant, SubMenu2 As Variant
REM メニューバーに独自のメニューを追加する
Set MainMenu = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup)
MainMenu.Caption = "独自のメニュー(&M)"
REM 独自メニューのサブメニューを追加する。クリックでMacro1プロシージャを実行する
Set SubMenu1 = MainMenu.Controls.Add
With SubMenu1
.Caption = "Macro1を実行(&A)"
.OnAction = "Macro1"
.BeginGroup = False
.FaceId = 3 '表示するアイコンです。3はフロッピーアイコンを表示します。
End With
REM 独自メニューのサブメニューを追加する。クリックでMacro2プロシージャを実行する
Set SubMenu2 = MainMenu.Controls.Add
With SubMenu2
.Caption = "Macro2を実行(&B)"
.OnAction = "Macro2"
.BeginGroup = False
.FaceId = 3
End With
End Sub
REM 追加した独自のメニューを削除します。
Sub DeleteMyMenu()
Application.CommandBars("Worksheet Menu Bar").Controls("独自のメニュー(&M)").Delete
End Sub