Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » VBAでメニュー項目をすべて削除する

VBAでメニュー項目をすべて削除する

対象:Excel97,Excel2000,Excel2002,Excel2003

VBA(Visual Basic for Applications)でメニューをカスタマイズする方法をご紹介してきました。

これまでご紹介したのは、標準のメニューバー上のメニュー項目はそのままでカスタマイズする方法でした。

[スポンサードリンク]

実務では、メニューバー上のメニュー項目をすべて削除したいということもあります。

▼メニュー項目をすべて削除するマクロ
Sub DeleleAllMenu()
 
 Dim objCB As CommandBar
 Dim objCBCtrl As CommandBarControl
 
 Set objCB = Application.CommandBars("Worksheet Menu Bar")
 
 For Each objCBCtrl In objCB.Controls
  objCBCtrl.Delete
 Next objCBCtrl

End Sub

やってることは単純です。For Each 〜 Next ループでDeleteするだけです。

メニューバーを元に戻すには、やっぱり
Application.CommandBars("Worksheet Menu Bar").Reset
です。

▼サンプルファイル(002999.xls 34KByte)ダウンロード

サンプルファイルには、上記のDeleleAllMenuマクロと、メニューバーを元に戻すResetMenuBarマクロが作成してあります。実行してどのような結果になるかご確認ください。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » VBAでメニュー項目をすべて削除する

「Applicationオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.