- 締切済み
Excel VBA で外部アプリケーションのコンテキストメニューを操作したい
Excel の VBA を使用して、外部アプリケーションの操作を行うマクロを作成しています。 ボタンの押下や、テキストの変更などは行うことができているのですが、右クリックで表示されるコンテキストメニューにあるアイテムを選択する方法が分かりません。 WM_COMMAND がどこかに送られているのかと思ったのですが、操作対象のアプリケーションを Winspector で監視しても、WM_COMMAND を見つけることができません。Resource Hacker で ID を確認して、WM_COMMAND を送信しても反応がないようです。 右クリックを押してコンテキストメニューを表示、キーイベントで確定させる方法で誤魔化しているのですが、マクロ実行中に操作をしてしまうとうまく動作せず、少し困っています。 何かいい方法がありましたら、教えていただけないでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- tsukasa-12r
- ベストアンサー率65% (358/549)
回答No.4
- tsukasa-12r
- ベストアンサー率65% (358/549)
回答No.3
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
回答No.2
- tsukasa-12r
- ベストアンサー率65% (358/549)
回答No.1
お礼
いろいろとお調べいただいて、ありがとうございます。 GetMenu も試してはみたのですが、ポップアップメニューのハンドルを取得することはできませんでした。 コンテキストメニューが出てから、そこで初めてウィンドウが作成されているので、事前に知る手はずがないのかもしれません。 「WM_RBUTTONDOWN → WM_RBUTTONUP → FindWindow("#32768","") → カーソルキーとエンターキーを送信」の流れなので、他の作業をしてるとしょっちゅう邪魔されちゃいます。うーん。