version=1.1.0 vdate=19.10.2015 fname=udf_ref.bas ns=%NAMESPACE% fpath=/vba/functions ====== [VBA] ref() ====== //Es gibt anwendugsfälle bei denen man nicht weissob, ob die Übergabevariable ein Objekt oder eine einfach Variable ist. ref() handelt im Gegensatz zu = das selber.// ==Version %%version%%%%== {{%%fname%%|Download %%fname%% (V-%%version%%)}} ===== Beschreibung ===== Die Funktion ref() verwedne ich häufig in grösseren Funktionen/Klassen, bei denen die Methoden flexibel sind. Zum Beispiel bei [[vba:functions:print_r:index]] und bei [[vba:classes:iterator:index]] ===== Beispiele ===== Das Beispiel so macht wenig Sinn. Es zeigt nur wie die Funktion angewendet wird Eine Methoden in einer Klasse, die eine Variable entgegen nehmen Private myItem As Variant 'Wie wissen hier nicht, ob ein Objekt oder ein anderer Datentyp daherkommt Public Sub setItem(ByRef iItem As Variant) ref myItem, iItem End Sub Public Property Get tName() As String tName = TypeName(myItem) End Property Test Dim fso As New FileSystemObject Dim cl As new MyClass cl.setItem fso debug.print cl.tName ===== Code =====