- 締切済み
【VBA】 VBAを使ってExcelにSendMessageしてメニューを実行したい
エクセルにおいて、VBAを使ってExcelに対してSendMessageをおこないメニューを実行したいのですが、メニューのSendMessageの引数WPARAMとLPARAMに 何を渡せば良いのでしょうか?SPY++を使ってメニューを実行したときにExcelに送られるWM_COMMANDを監視していましたがWM_COMMANDが見つかりませんでした。 ご存知の方、ご教授お願いします。 ちなみに、オートシェイプ選択時に「書式」-「オートシェイプ」メニューを実行し、書式設定ダイアログが表示され、オートシェイプの書式設定を変更するのが目的です。(VBAを使って書式設定のダイアログを表示する必要あり) SendKeysステートメントを使ってやってみましたがダメでした。この場合、モードレスダイアログに書式設定するコマンドボタンを配置し、そのボタンをクリックしたときにSendKeysを実行するもので、モードレスダイアログを表示している間はキーがモードレスダイアログに送られると判断してSendKeysの使用はやめました。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
回答No.1
>書式設定ダイアログ 別にダイアログを出さないでも、Shapeオブジェクトの書式は変更可能ですが。。。 マクロを記録して見ると、書くべきコーディングの内容も出ていますよ。 ダイアログが必須であるのであれば、だめですが。。。
お礼
ご回答ありがとうございます。 ダイアログは必須です。ユーザがメニューから書式設定のダイアログを出すのではなく、ユーザフォームに配置したボタンをクリックして出てくるようにしたいのです。