我一直认为在VBA中,我们无法在用户窗体创建/初始化时传递变量。然而,当我在对象名称后放置一个括号时,出现了一个工具提示,表明这可能并不一定是真的(或者更有可能是我误解了它):
因此,出于好奇,我尝试使用varg将一个变量传递给用户窗体:
但毫不意外,它并没有起作用。
那么,最终的问题是varg的目的是什么?对我来说,它实际上看起来像用于索引多个单独的用户窗体实例,因为它实际上似乎是属性.Item()的参数,而不是实际对象本身的参数,但我所知道的唯一创建多个用户窗体对象的方法是将它们设置为一个变量,例如:
因此,出于好奇,我尝试使用varg将一个变量传递给用户窗体:
但毫不意外,它并没有起作用。
那么,最终的问题是varg的目的是什么?对我来说,它实际上看起来像用于索引多个单独的用户窗体实例,因为它实际上似乎是属性.Item()的参数,而不是实际对象本身的参数,但我所知道的唯一创建多个用户窗体对象的方法是将它们设置为一个变量,例如:
Dim uf1 As MyUserForm, uf2 as MyUserform
Set uf1 = New MyUserform
set uf2 = New Myuserform
用户表单实际上可以被序列化和索引,使用这个 varg
变量的不同方式能够实现这一点吗?
注意:这不是关于如何将外部变量传递给用户表单的问题 - 我知道在初始化之后有许多方法可以实现这一点(通过对象代码模块中的 Public Property、Function 或 Variable 传递甚至是标准模块中的外部全局/公共变量,但不建议使用后者)。