Excel VBA質問箱 IV

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

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


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

【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 お礼[未読]

【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

【21399】Re:セル編集中にCommandBarButton.OnAct...
回答  Jaka  - 05/1/20(木) 15:37 -

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

>残念なことに、セルの編集中に[仮]-[ほげ]
>を選択してもなにも実行されませんでした。

このセルの編集中って、セルにカーソルが移っているとか、数式バーの記入欄(って言うのか?)にカーソルが移っている時ですか?
もしそうなら、マクロは動きません。

【21402】Re:セル編集中にCommandBarButton.OnAct...
お礼  へちょ  - 05/1/20(木) 15:51 -

引用なし
パスワード
   ▼Jaka さん:
>こんにちは。
こんにちは。

>このセルの編集中って、セルにカーソルが移っているとか、数式バーの記入欄(って言うのか?)にカーソルが移っている時ですか?
そうです。
言葉足らずで申し訳ありませんでした。

>もしそうなら、マクロは動きません。
そ、そうなんですか。残念です。
「セルの編集中にマクロを実行する」
というのは諦めるしかなさそうですね。

回答ありがとうございました。

良い代案等の情報があれば、よろしくお願いします。

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