Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12828 / 13646 ツリー ←次へ | 前へ→

【8405】起動時にメニューの追加、終了時にメニュ... kei 03/10/15(水) 10:48 質問
【8415】Re:起動時にメニューの追加、終了時にメニュ... Jaka 03/10/15(水) 16:11 回答
【8416】まちがえました。 Jaka 03/10/15(水) 16:24 回答
【8418】新メニューの場合 INA 03/10/15(水) 17:51 回答
【8425】Re:新メニューの場合 kei 03/10/16(木) 10:28 お礼
【8424】Re:起動時にメニューの追加、終了時にメニュ... kei 03/10/16(木) 9:58 お礼

【8405】起動時にメニューの追加、終了時にメニュ...
質問  kei  - 03/10/15(水) 10:48 -

引用なし
パスワード
   VBAを始めてまだ間もない初心者です。
こちらの掲示板では、いつも勉強させていただいております。

エクセルファイルの起動時、
メニューバー([ファイル][編集]とか)に独自のメニューコマンドを追加、
エクセルファイルを閉じる時に追加したメニューを削除
と、いったことをしたいのですが、どうにしたら良いのかわかりません。

過去ログを調べてみたものの、調べ方が悪いのか関連項目が見つかりませんでした。
どなたかご指導していただけないでしょうか。
宜しくお願いいたします。

【8415】Re:起動時にメニューの追加、終了時にメニ...
回答  Jaka  - 03/10/15(水) 16:11 -

引用なし
パスワード
   こんにちは。

Sub Auto_Open()
  Set AdMenyu = Application.CommandBars("File").Controls.Add(Type:= _
               msoControlButton, before:=4)
  AdMenyu.BeginGroup = True
  AdMenyu.Caption = "追加メニュー名"
  AdMenyu.OnAction = "関連付マクロ名"
End Sub

Sub Auto_Close()
  On Error Resume Next
  Application.CommandBars("Worksheet Menu Bar").Controls("ファイル(&F)"). _
        Controls("追加サブメニュー名").Delete
End Sub

Sub 関連付マクロ名()
  msgbox "nnn1"
End Sub

【8416】まちがえました。
回答  Jaka  - 03/10/15(水) 16:24 -

引用なし
パスワード
   Controls("追加サブメニュー名").Delete
       ↓
Controls("追加メニュー名").Delete

【8418】新メニューの場合
回答  INA  - 03/10/15(水) 17:51 -

引用なし
パスワード
   Private Sub Workbook_BeforeClose(Cancel As Boolean)
  MenuBars(xlWorksheet).Reset
End Sub

Private Sub Workbook_Open()

With MenuBars(xlWorksheet)
.Menus.Add Caption:="新メニュー"
.Menus("新メニュー").MenuItems.Add _
 Caption:="テスト", OnAction:="Test1"
End With

End Sub

−−−−−−−−−−−−−−
Sub Test1()
  MsgBox "TEST1"
End Sub

【8424】Re:起動時にメニューの追加、終了時にメニ...
お礼  kei  - 03/10/16(木) 9:58 -

引用なし
パスワード
   Jaka さん,いつもすばやいレスありがとうございます。

Auto_Open()、Sub Auto_Close()
というイベントがあったんですね。

お蔭様で思い通りのことができるようになりました。
ありがとうございました。

【8425】Re:新メニューの場合
お礼  kei  - 03/10/16(木) 10:28 -

引用なし
パスワード
   INA さん、いつも素早いご回答をありがとうございます。
ご指導いただいたお陰で思う通りの処理ができるようになりました。
ありがとうございます。

あと。。。。
Workbook_Open()とAuto_open()でどちらで追加する?
と言った疑問がありましたが
普通にブックを開く時は両方実行されるけど
OPENメソッドでブックを開いた時はAuto_open()は実行されない
ということもわかりました!!

いつもjakaさま、INAさまのご教授のお陰で
とても勉強になっております。
ありがとうございました。

12828 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free