右クリックメニューに登録・削除
エクセル 右クリックメニューに登録 値の貼り付けの方法だと、いちいち「マクロの実行」をしなければならない。マンドクセ('A`)
なので、ブックを開いたら処理をするようにした。
以下はThisWorkbookモジュールに記載。OnAction の "Main.LoadALL" は標準モジュールに記載。
'ワークブックを開く時のイベント Private Sub Workbook_Open() Call AddMenu End Sub
'右クリックメニューに追加 Sub AddMenu() Dim myCBCtrl2 As CommandBarButton Set myCBCtrl2 = Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, ID:=371, Before:=6, temporary:=True) With myCBCtrl2 .Caption = "SGML書き出し" .OnAction = "Main.LoadALL" End With End Sub
このままだと右クリックメニューに残ってしまうので、ブックを閉じる時に削除する。
'ワークブックを閉じる時のイベント Private Sub Workbook_BeforeClose(Cancel As Boolean) Call RemoveMenu End Sub
'右クリックメニューを削除 Sub RemoveMenu() Application.CommandBars("Cell").Controls.Item("SGML書き出し").Delete End Sub
ワークブックを開く時のイベントには[Auto_Open]、閉じる時は[Auto_Close]というマクロもあるそうだ。
コイツは標準モジュールで動作する。ThisWorkbookモジュールに記載しても動かない。