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でメニュー項目をすべて削除する

TrackBack:2

TrackBack URL
メニューバーを非表示にするマクロ from インストラクターのネタ帳
対象:Excel2002, Excel2003 VBA(Visual Basic for Applications)で、メニューをカスタマイズする方法を...
ショートカットメニューを非表示に−Application.CommandBars("Cell").Enabled = False from インストラクターのネタ帳
対象:Excel2002, Excel2003, Excel2007 VBA(Visual Basic for Applications)で、メニューを...

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

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

検索


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

.