2013-08-05 18 views
5

初始化下午好,參數在班在VBA

我不知道是否有可能,在VBA語言,傳遞參數給它一類的初始化時間,因爲在這樣的面嚮對象語言完成作爲Java,您可以在其中創建參數化的構造函數。 「Class_Initialize()」事件不允許我輸入參數。我怎麼解決這個問題?

一切順利。

+0

不幸的是,你不能做這樣的事情。只有兩步解決方法可以做到這一點:第一步 - 初始化,第二步調用方法或通過任何參數的屬性。 –

回答

2

使你自己的環繞?

Sub new_myClass(str1 as String, int1 as Integer) As myClass 
    Dim mc As myClass 
    mc.int_attribute = int1 
    mc.str_attribute = str1 
    '... 
    return mc 
End Sub 
+0

這很不錯。非常感謝您的快速幫助。 –

7

最接近的選擇是工廠模式;

public function CreateMyClass(i as integer, str as string) As cMyClass 
    Set CreateMyClass = New cMyClass 
    '// a method within class to accept constructor-like args; 
    CreateMyClass.ctor i, str 
    '// alternatively setup via properties 
end function 

... 

dim myClass As cMyClass 
set myClass = CreateMyClass(123, "Hello") 
+0

這很不錯。非常感謝您的快速幫助。 –

+0

我不明白代碼。 – Brian