Page 63 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ユーザ定義のメニューバー こうすけ 02/9/11(水) 10:27 ┗Re:ユーザ定義のメニューバー Jaka 02/9/11(水) 12:46 ┣やたら解りにくかったので..。 Jaka 02/9/11(水) 13:20 ┗Re:ユーザ定義のメニューバー こうすけ 02/9/11(水) 13:32 ─────────────────────────────────────── ■題名 : ユーザ定義のメニューバー ■名前 : こうすけ ■日付 : 02/9/11(水) 10:27 -------------------------------------------------------------------------
おはようございます。 度々恐縮ですが、ご教授いただければ幸いです。 1.Excelを開き、以下のメニュー作成マクロを実行 2.Excelを閉じず、別の(2個目の)Excelを開く 3.2個目のExcelにまでメニューが反映されてしまう 実行したExcelにのみメニューを反映し、他のブックには影響を及ぼさないように したいのですが、まずそういった事は可能なのでしょうか? -------------------------------------------------------------- ■メニュー作成マクロ Sub MenuBarCreate() Application.MenuBars.Add ("MenuTest") MenuBars("MenuTest").Menus.Add ("テスト(&T)") MenuBars("MenuTest").Menus("テスト(&T)").MenuItems.Add Caption:="メニュー消去", OnAction:="MenuBarDelete" MenuBars("MenuTest").Activate End Sub ■メニュー削除マクロ Sub MenuBarDelete() Application.MenuBars("MenuTest").Delete ’→95版はMenuBars(xlModule).activate End Sub -------------------------------------------------------------- |
こんにちは。 こんな感じじゃダメ? ThisWorkBookに書きます。 Private Sub Workbook_Activate() Application.MenuBars.Add ("MenuTest") MenuBars("MenuTest").Menus.Add ("テスト(&T)") MenuBars("MenuTest").Menus("テスト(&T)").MenuItems.Add Caption:="メニュー消去", OnAction:="MenuBarDelete" MenuBars("MenuTest").Activate End Sub Private Sub Workbook_Deactivate() On Error Resume Next Application.MenuBars("MenuTest").Delete End Sub |
標準モジュールコード Sub MenuBarDelete() On Error Resume Next Application.MenuBars("MenuTest").Delete '→95版はMenuBars(xlModule).activate End Sub ThisWorkBookコード Private Sub Workbook_Activate() Application.MenuBars.Add ("MenuTest") MenuBars("MenuTest").Menus.Add ("テスト(&T)") MenuBars("MenuTest").Menus("テスト(&T)").MenuItems.Add Caption:="メニュー消去", OnAction:="MenuBarDelete" MenuBars("MenuTest").Activate End Sub Private Sub Workbook_Deactivate() MenuBarDelete End Sub |
▼Jaka さん: >こんにちは。 > >こんな感じじゃダメ? >ThisWorkBookに書きます。 > >Private Sub Workbook_Activate() > Application.MenuBars.Add ("MenuTest") > MenuBars("MenuTest").Menus.Add ("テスト(&T)") > MenuBars("MenuTest").Menus("テスト(&T)").MenuItems.Add Caption:="メニュー消去", OnAction:="MenuBarDelete" > MenuBars("MenuTest").Activate >End Sub > >Private Sub Workbook_Deactivate() > On Error Resume Next > Application.MenuBars("MenuTest").Delete >End Sub 解決いたしました。ありがとうございます。 auto_open、auto_closeに組み込んでいたのが敗因でした(−−;; ただ95版はWorkBookイベントが用意されていない為、何で代用出来るか 調査してみます(^^; |