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

動的な画面作成時のイベント処理

しかし、これでは、ボタンをクリックしても、フォームを閉じられない。
そこで、イベント処理用クラスを変更して...
■ clsForm


Option Explicit

Public WithEvents cmdExit As MSForms.CommandButton
Public Form As UserForm3

Public Sub Show()
Form.Show
End Sub

Private Sub cmdExit_Click()
Unload Form
Set cmdExit = Nothing
Set Form = Nothing
End Sub

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

Public Sub Main()
Dim objForm As clsForm
Set objForm = New clsForm
Set objForm.Form = UserForm3
Set objForm.cmdExit = UserForm3.Controls.Add("Forms.CommandButton.1")
objForm.Show
End Sub
これで、ボタンをクリックすると、フォームを Close できる。