我创建了一个Class
类型的Employee
Private emplId As String
Private name As String
Private rank As String
Private post As String
我创建了一个具有Inside函数的模块,该模块返回对象类型Employee。
Public Function FuncNewPerson(Emplid As String) As Employee
Dim newPerson As New Employee
With newPerson
newPerson.SetEmplid = Emplid
newPerson.SetName = mytab(25, 1)
newPerson.SetRank = mytab(23, 1)
newPerson.SetPost = mytab(27, 1)
Set FuncNewPerson = newPerson
我使用两个UserForms
,在通过emplId
选择ComboBox
之后的第一个中,它初始化了一个对象类型Employee
,然后我填写了所有{{第TextBox
个对象中的{} 1}}具有对象的UserForm
属性:
get
在这个RequestForm.TxtBoxPerson = person.GetName
RequestForm.txtBoxRank = person.GetRank
上,我有一个UserForm
叫第二个:
Button
在第二个Public Sub BtnVerify_Click()
Me.Hide
ValidationForm.Show
End Sub
中,我还有其他UserForm
可以填充:
TextBox
我想使用已经在内存中的对象,所以我的第一个想法是将其作为参数从第一种形式传递给第二种形式。
我当然已经在网上搜索过,但是现在我对此更加困惑,这就是为什么我在这里寻求帮助的原因:
谢谢
答案 0 :(得分:1)
在第二种形式中,创建一个合适的变量
Private Person as Employee
然后创建一个属性
Property Set CurrentPerson(p as Employee)
set person = p
End Property
然后在您的第一个表单的代码中设置此属性
Public Sub BtnVerify_Click()
Me.Hide
ValidationForm.Show
Set validationform.currentperson = person
End Sub