'(右クリックメニューへの登録方法)
Sub 右クリック登録()
'『Cell』という名前のコマンドバーにボタンを1番目に追加
With Application.CommandBars("Cell") _
.Controls.Add(Type:=msoControlButton, Before:=1)
.Caption = "オリジナルコマンド"
' コマンド名
.OnAction = "test"
'登録したいマクロ名
.FaceId = 12
'アイコン番号
End With
End Sub
'(右クリックメニューの解除方法)
Sub 右クリック解除()
Dim C As CommandBarControl
'『Cell』という名前のコマンドバーでループを回して
For Each C In Application.CommandBars("Cell").Controls
'『オリジナルコマンド』という名前のコマンドだったら削除
If C.Caption = "オリジナルコマンド" Then C.Delete
Next C
End Sub
'(メニューバーへの登録方法)
Sub メニュー登録()
'ワークシートメニューバーの最後にメニューを追加
With Application.CommandBars("Worksheet Menu Bar") _
.Controls.Add(Type:=msoControlPopup)
.Caption = "オリジナルメニュー"
'メニュー名
'上で作成したメニューに更にボタンを追加
With .Controls.Add(Type:=msoControlButton)
'追加したボタンに名前と割り当てるマクロ名を設定
.Caption = "オリジナルコマンド1"
.OnAction = "test1"
End With
'上で作成したメニューに更にボタンを追加
With .Controls.Add(Type:=msoControlButton)
'追加したボタンに名前と割り当てるマクロ名を設定
.Caption = "オリジナルコマンド2"
.OnAction = "test2"
End With
End With
End Sub
'(メニューバーの解除方法)
Sub メニュー解除()
Dim C As CommandBarControl
'ワークシートメニューバーでループを回して
For Each C In Application.CommandBars("Worksheet Menu Bar").Controls
'『オリジナルメニュー』という名前のコマンドだったら削除
If C.Caption = "オリジナルメニュー" Then C.Delete
Next C
End Sub
'ツールバーの『添付』機能を使うのが一般的ですが、あえてマクロで作成する方法です。
'(ツールバーの作成方法)
Sub 自作ツールバー作成()
'『オリジナル』という名前のツールバーを作成
With Application.CommandBars.Add(Name:="オリジナル")
'そのツールバーにコントロールを追加
With .Controls.Add(Type:=msoControlButton)
.Caption = "オリジナルコマンド"
' コマンド名
.OnAction = "test"
'登録したいマクロ名
.FaceId = 12
'アイコン番号
End With
'ツールバーを表示する
.Visible = True
End With
End Sub
'(ツールバーの削除方法)
Sub 自作ツールバー削除()
Dim C As CommandBar
For Each C In Application.CommandBars
'『オリジナル』という名前ツールバーだったら削除
If C.Name = "オリジナル" Then C.Delete
Next C
End Sub