如何调用UserForm_Initialize()
aModule
而不是 UserForm 代码对象?
问问题
119785 次
3 回答
12
从一个模块:
UserFormName.UserForm_Initialize
只要确保在您的用户表单中,您像这样更新子:
Public Sub UserForm_Initialize()
因此可以从表单外部调用它。
或者,如果尚未加载用户表单:
UserFormName.Show
最终会调用UserForm_Initialize
,因为它会加载表单。
于 2012-12-20T03:29:06.777 回答
3
恕我直言,UserForm_Initialize 方法应该保持私有,因为它是UserForm的 Initialize 事件的事件处理程序。
当创建用户窗体的新实例时调用此事件处理程序。在这个偶数处理程序中,您可以初始化 UserForm1 类的私有成员。
例子:
标准模块代码:
Option Explicit
Public Sub Main()
Dim myUserForm As UserForm1
Set myUserForm = New UserForm1
myUserForm.Show
End Sub
用户表单代码:
Option Explicit
Private m_initializationDate As Date
Private Sub UserForm_Initialize()
m_initializationDate = VBA.DateTime.Date
MsgBox "Hi from UserForm_Initialize event handler.", vbInformation
End Sub
于 2012-12-20T06:06:25.140 回答
1
解决方案 经过这么长时间,我设法解决了这个问题。
在模块中:UserForms(Name).Userform_Initialize
此方法最适合动态初始化当前用户窗体
于 2012-12-21T07:41:15.990 回答