VBA,Excel:如何将类对象传递给表单

时间:2013-03-26 09:42:49

标签: vba object parameters userform

如何将ThisWorkbook中的类对象传递给UserForm?

我收到以下错误:

ThisWorkbook

Dim MainObject As MyClass
Set MainObject = New MyClass

Public Sub ShowMyForm()
  Dim frmMyForm as MyForm
  Set frmMyForm = New MyForm
  frmMyForm.FormObject = MainObject  ' *<-- Run-time Error '13': Type mismatch*
End Sub

MyForm

Private p_Object As MyClass

Property Get FormObject() As MyClass
  Set FormObject = p_Object
End Property

Property Set FormObject(ByRef Value As MyClass)
  Set p_Object = Value
End Property

1 个答案:

答案 0 :(得分:0)

分配对象时,需要使用Set关键字,如下所示:

Set frmMyForm.FormObject = MainObject