- ベストアンサー
エクセルマクロのユーザー設定ボタンについて
エクセル2003を使用してます。 マクロを作って、ヘルプメニューの隣にユーザー設定ボタン(黄色いニコニコした顔文字のようなやつ)を追加したのですが、別のエクセルファイルを開いても、そのユーザー設定ボタンが出てきてしまいます。 ユーザー設定ボタンは、特定の1つのファイルのみに表示させたいのですがどうすればよろしいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
方法1) >特定の1つのファイルのみに表示させたい その用途では,通常はツールボタン(メニュー・コマンドバー)は使用せず,ブック(シート)上にコマンドボタンを配置して利用します。 マクロも当該のブックに直接持たせます。 手順: 当該のブックを開く ALT+F11でVBE画面を出す 挿入メニューから標準モジュールを挿入する 標準モジュールにあなたのマクロを記載する シート上にオートシェイプの図形,あるいはフォームコントロールのコマンドボタン等を配置する 右クリックしてコードの表示で標準モジュールのマクロを登録する 方法2) >ヘルプメニューの隣にユーザー設定ボタンを追加 ご質問の直接の回答としては,マクロを駆使して ・当該のブックを開いたら ・マクロを自動起動してコマンドボタンを(テンポラリに)その場で追加する あとは「ボタンをそのブックだけで使いたい」の要求レベルに応じて ○エクセルを終了すれば,ボタンが消えているように仕込む ○複数のブックを開いていた場合に,ブックを切り替えただけでもボタンの表示・非表示を細かく制御する といった仕込みをする事にします。 「やればできる」作業ですが,正直ここまでやるホントにニーズがあるのかに応じて考えて下さい。 コマンドボタンを追加するマクロ自体は新しいマクロの記録で採取できますが,それをベースに少し手を入れます。 手順: 当該のブック(仮にBook1.xls)の標準モジュールにたとえばmacro1を用意 当該のブックのThisWorkbookシートに private sub Workbook_Open() application.commandbars("Worksheet Menu Bar").controls.add(type:=msocontrolbutton, ID:=2950, temporary:=true).onaction = "Book1.xls!macro1" end sub と記入,ブックを保存して閉じる ブックを開くとボタンが生きる。 「エクセルを終了すると」ボタンが消える。
お礼
ご回答ありがとうございます。 全然考えてたのと違いました・・・。 私の中では、どこかのドロップダウンリストやら、チェックボックスやらで設定変更すれば出来るのかと考えていたものですから、全然そうではないんですね。 それでしたら、シート上にコマンドボタン配置する方法にします。 勉強になりました。 ありがとうございました!