2011-09-30 79 views
3

我正在寻找在VBA中创建和返回新类对象的正确方法。什么是从VBA函数返回新类对象的“正确”方法?

我熟悉以下模式返回一个新类型变量(由返回值):

Public Type Foo 
    x as Integer 
    y as Integer 
End Type 

Public Function NewFoo() as Foo 
    NewFoo.x = 4 
    NewFoo.y = 2 
End Function 

什么将是一个新的对象等效语法(通过引用返回) ?

Public Function NewMyClass() As MyClass 
    ''// ...? 
End Function 

回答

8

如果你想返回在VBA对象,你必须将其设置为方法名称

Public Function NewMyClass() As MyClass 
    Set NewMyClass = CreateObject("Some.MyClass"); 
End Function 
+0

真棒。那么我可以使用'NewMyclass.someVariable = someValue'吗? –

+1

据我所知,你可以把NewMyclass作为一个普通的变量,因此你也应该可以调用方法的一个属性 – oberfreak

+0

非常感谢'':'' –

相关问题