Excelのメニューバーに独自のメニューを追加する。
Excelのアドインを作ろうとしているときに使った一部分を改変したサンプルコードです。
メニューバー以外の場所(例えば右クリックのコンテキストメニュー)にも同じような方法で独自メニューを簡単に追加できるので時間があるときに追記します。
VBAのマクロを使わなくても[表示]-[ツールバー]-[ユーザー設定]で同じようなことは出来ます。用途に応じて使い分けてください。
'AddMenu()で独自のメニューをメニューバーに追加する。 'RemoveMenu()で追加したメニューバーを削除する。 '追加したメニューでアクティブセルに日付、 '現在日時を挿入できる。 Sub AddMenu() Dim Bar As CommandBar Dim Ctr As CommandBarControl Set Bar = Application.CommandBars("Worksheet Menu Bar") '"Worksheet Menu Bar"の所を変えると色々な場所に自分の 'メニューが作れる。*01 Set Ctr = Bar.Controls.Add(Type:=msoControlPopup, Temporary:=True) 'msoControlPopupの所も他に色々とオプションあり。*02 With Ctr .Caption = "私のメニュー(&M)" .Visible = True .Controls.Add Type:=msoControlButton .Controls(1).Caption = "NOW関数を挿入(&N)" .Controls(1).OnAction = "InstertNowFunction(0)" .Controls(1).FaceId = 93 'FaceIDは5000種類位あるようです。[http://d.hatena.ne.jp/Cassiopeia/20070511/1178888111] End With With Ctr .Controls.Add Type:=msoControlButton .Controls(2).Caption = "日付を挿入(&D)" .Controls(2).OnAction = "InsertDate(0)" .Controls(2).FaceId = 83 End With End Sub Sub InstertNowFunction(Dammy As Integer) '不要な引数をとっているのは[ツール]-[マクロ]-[マクロ] 'のダイアログにこの関数を非表示にするため。 ActiveCell.Value = "=(NOW())" End Sub Sub InsertDate(Dammy As Integer) ActiveCell.Value = Date End Sub Sub RemoveMenu() CommandBars("Worksheet Menu Bar").Controls("私のメニュー(&M)").Delete End Sub