Excel VBA質問箱 IV

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

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


59993 / 76732 ←次へ | 前へ→

【21393】セル編集中にCommandBarButton.OnAction...
質問  へちょ  - 05/1/20(木) 15:26 -

引用なし
パスワード
   いろいろ調べたのですが、自己解決できそうにないので、質問させてください。

VBAのマクロ(最後に載せます)を使って、ワークシートメニューバーに
[仮]メニューを追加、「仮」に"Hoge()"を呼び出すitem[ほげ]を追加しました。
 そして、[仮]-[ほげ]を選択すると、メッセージボックスが表示され、うまく
動いているように見えました。が、残念なことに、セルの編集中に[仮]-[ほげ]
を選択してもなにも実行されませんでした。
# 実行したExcelのバージョンは2000です

 この状態はとても気持ち悪いので、セルの編集中でも"Hoge()"を実行できるよ
うにしたいのですが、方法がわかりません。どなたか教えて頂けないでしょうか?
また、そのものずばりでなくても、手掛かりとなりそうな情報を提供して頂ける
と助かります。

(自分で調べて挫折した事
・[編集]-[削除]等は、セル編集中に無効になるから、真似できれば・・・
→ セルの編集開始、終了でメニューのEditableを変更しているのかな?
→ でも、ActiveCellの編集開始、編集終了イベントが見つからない
→ CommandBarButton には Clickイベントしか無さそう
・[編集]-[コピー]等は、セル編集中にも実行できるから、真似できれば・・・
→ [編集]-[コピー]には、そもそもOnActionが登録されてない。訳わかんない。
)

よろしく御願いします。

'=========== ソース ===========
Sub AddHoge()
  Dim sysMenuBar As CommandBar
  Dim menu As CommandBarControl
  Dim btn As CommandBarButton

  ' ワークシートメニューバーに "仮" を追加
  Set sysMenuBar = Application.CommandBars("Worksheet Menu Bar")
  Set menu = sysMenuBar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
  menu.Caption = "仮"
  
  ' "仮" に "ほげ" を追加
  Set btn = menu.Controls.Add(Type:=msoControlButton)
  With btn
    .Caption = "ほげ"
    .Style = msoButtonCaption
    .FaceId = 0
    .OnAction = "Hoge"
  End With
End Sub

Sub Hoge()
  MsgBox "ほげ"
End Sub
3 hits

【21393】セル編集中にCommandBarButton.OnAction... へちょ 05/1/20(木) 15:26 質問
【21399】Re:セル編集中にCommandBarButton.OnActio... Jaka 05/1/20(木) 15:37 回答
【21402】Re:セル編集中にCommandBarButton.OnActio... へちょ 05/1/20(木) 15:51 お礼

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