假设我有一个名为
MyUserForm
的用户窗体,我会像这样使用它:Dim form as MyUserForm
Set form = New MyUserForm
form.SomeVar = "Hi"
form.Show ' Displays "Hi" somewhere on the form
一切都很好。但是以下内容让我感到奇怪,也能够工作:
MyUserForm.SomeVar = "Hi"
MyUserForm.Show
看起来好像有一些隐式声明的对象MyUserForm
,其类型恰好是类MyUserForm
!VBA到底在做什么?这个奇怪的习惯用法遵循什么规则?谢谢。
MyUserForm
实例,然后调用MyUserForm.Show
,你就会发现它们之间的层次关系。其中一个MyUserForm
是活动用户窗体,你可以通过MyUserForm.<whatever>
引用它,但当你有多个用户窗体时,使用类名进行调用是不好的做法。最好和推荐的方法是始终使用存储特定实例引用的变量名。 - user2140173