• 締切済み

VBでExcel上PictureBoxダブルクリックイベントを取得したい

VBでOpenしたExcelシート上にあるPictureBoxをダブルクリックした際に発生するイベントを取得したいと思っております。 ExcelVBAでは普通にPictureeBox_DblClick()で取得できますがVBで取得する場合はPictureBoxオブジェクトをどの様に取得・宣言し、プロシージャ名はどの様に書いたらよいのでしょうか。教えて下さい。お願いします。

みんなの回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

サブクラス化してメッセージをフック... # 私は自信ありません。 # TAGOSAKU7さんに期待します。

Chika-F
質問者

お礼

WithEventsの記述を工夫する事で解決しました。 ご協力ありがとう御座いました。

Chika-F
質問者

補足

ありがとう御座いました。 TAGOSAKU7さんは tado36さんの大師匠様ですか? お願いします。 出来るだけ簡単な方法が良いのですが・・・。

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

ExcelVBAのPictureBox_DblClickイベントで何らかの手段でVB側に 通知すればいいかと。 例えば、Excel側でVBのコマンドボタンにクリックイベントを 投げる。 (Excel) Private sub PictureBox_DblClick() Call SendMessage(VB側のフォームのハンドル, _ WM_COMMAND, _ BN_CLICKED, _ VB側のコマンドボタンのハンドル) End Sub (VB) Private Sub Form_Load() Command1.Visible = False End sub Private Sub Command1_Click() MsgBox "Excel側でPictureBoxがダブルクリックされました" End Sub # 参考URLでTAGOSAKU7さんに教わった手法です。 # ありがとうございました。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=199357
Chika-F
質問者

補足

早速の回答をありがとう御座います。 最初に書かなかったのがいけないのですが Excel側にはコードを書きたくないので 出来ましたらVB側からだけでやりたいのですが・・ 宜しくお願い致します。