- ベストアンサー
エクセルVBAでのwitheventsについて
お世話になります。 エクセルVBAでクラス側で ListBoxにたいしてwitheventsは使用 できないのでしょうか? Private WithEvents lst As ListBox Public Sub Class_Initializa() Set lst = UserForm1.ListBox1 End Sub 上記コーディングで実行時に 「オブジェクトはオートメーションイベントを 発生させることができません」 になります。 クラス側でダブルクリックイベントを拾いたいのですが。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ListBoxはMSForms.ListBoxとしてPublic宣言します。 変数lstにListBox1への参照をSetするのは UserForm_Initializeで行えば良いのではないでしょうか。 クラスモジュール Option Explicit Public WithEvents lst As MSForms.ListBox Private Sub lst_DblClick(ByVal Cancel As MSForms.ReturnBoolean) MsgBox lst.Name & "がダブルクリックされました。" End Sub ********************************************** フォームモジュール Option Explicit Public cls1 As New Class1 Private Sub UserForm_Initialize() Set cls1.lst = Me.ListBox1 End Sub
お礼
ありがとうございました。 基本的なこと失念してました。