販売管理ソフトを作る - 動的な画面作成時のイベント取得方法

動的な画面作成時のイベント取得方法

その場合、フォーム側に、コマンドボタンクリック時のイベントを
記述できない。
そこで、どうするかと言うと...

まず、イベント処理用のクラスを作成する。
■ clsCommandButton


Option Explicit

Public WithEvents cmdExit As MsForms.CommandButton

Private Sub cmdExit_Click()
MsgBox "cmdExit_Click"
End Sub

フォームの呼び出し側を、以下のように変更する。

Public Sub Main()
Dim objCommandButton As clsCommandButton
Set objCommandButton = New clsCommandButton

Set objCommandButton.cmdExit = UserForm3.Controls.Add("Forms.CommandButton.1")
UserForm3.Show
End Sub
これで、ボタンクリックイベントを拾えるようになる。