Excel VBA質問箱 IV

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

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


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

【28471】右クリックメニューに独自コマンドの追加 みるみる。 05/9/7(水) 14:22 質問[未読]
【28473】Re:右クリックメニューに独自コマンドの追加 Jaka 05/9/7(水) 14:46 回答[未読]
【28480】Re:右クリックメニューに独自コマンドの追加 みるみる。 05/9/7(水) 16:38 お礼[未読]

【28471】右クリックメニューに独自コマンドの追加
質問  みるみる。  - 05/9/7(水) 14:22 -

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

エクセル起動時にマクロで
セルの右クリックメニューに独自のコマンド(メニュー)を追加するように
しており、またエクセルを閉じる時にそのメニューを削除しております。

しかし、エクセルを開いて作業している途中に、
かたまったりしておちてしまった場合、
そのメニューが残っており、再度エクセルを開いた時にさらに同じ
メニューを右クリックメニューに追加してしまって、同じメニューが複数
存在するようなことになります。

これを避ける為に、エクセル起動時に、今あるメニューを確認後に
独自のメニューを追加するようなことはできるのでしょうか?
またそれ以外にもこの事態を避ける方法は何かないでしょうか?

宜しく願いいたします。

【28473】Re:右クリックメニューに独自コマンドの...
回答  Jaka  - 05/9/7(水) 14:46 -

引用なし
パスワード
   今使っている奴です。

'右クリックメニュー追加
Sub Auto_Open()
  右メニュー追加
  End
End Sub
  
Sub 右メニュー追加()
  'On Error Resume Next
  For Each 右メニュー項目 In Application.CommandBars("cell").Controls
    If 右メニュー項目.Caption = "シートマクロ" Then
      Exit Sub
    End If
  Next
  With Application.CommandBars("Cell")
    '.Reset
  End With
  Set 右メニュー = Application.CommandBars("cell").Controls.Add _
     (Type:=msoControlPopup, temporary:=False)
  With 右メニュー
    .Caption = "シートマクロ"
    '.FaceId = 482          'PopUpでは、エラーになる
  End With
  Set 右サブ1 = 右メニュー.Controls.Add
  With 右サブ1
    .Caption = "挿入(最後)"
    .FaceId = 461 '266 '482
    .OnAction = "シート挿入右クリ"
  End With
  Set 右サブ2 = 右メニュー.Controls.Add
  With 右サブ2
    .Caption = "削除"
    .FaceId = 266 '304
    .OnAction = "シート削除"
  End With
  Set 右サブ3 = 右メニュー.Controls.Add
  With 右サブ3
    .Caption = "選択(単独)"
    .FaceId = 479
    .OnAction = "シート選択1"
  End With
  Set 右サブ4 = 右メニュー.Controls.Add
  With 右サブ4
    .Caption = "選択(複数)"
    .FaceId = 264
    .OnAction = "シート選択2"
  End With
End Sub

ここも読んでおいてね!
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=26743;id=excel

【28480】Re:右クリックメニューに独自コマンドの...
お礼  みるみる。  - 05/9/7(水) 16:38 -

引用なし
パスワード
   Jaka さんへ

ループでメニューを確認していけばよかったんですね。
ありがとうございます。

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