アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
エクセルVBAでクラス側で
ListBoxにたいしてwitheventsは使用
できないのでしょうか?
Private WithEvents lst As ListBox

Public Sub Class_Initializa()

Set lst = UserForm1.ListBox1

End Sub

上記コーディングで実行時に
「オブジェクトはオートメーションイベントを
発生させることができません」
になります。
クラス側でダブルクリックイベントを拾いたいのですが。
宜しくお願い致します。

A 回答 (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
    • good
    • 0
この回答へのお礼

ありがとうございました。
基本的なこと失念してました。

お礼日時:2008/11/10 10:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています