Aufrufen von Eigenschaftsprozeduren
Die folgende Tabelle enthält die Syntax zum Aufrufen von Eigenschaftsprozeduren:
Eigenschaftenprozedur | Syntax |
---|---|
Property Get | [Set ] varname = [ object.] propname [( [argumente] )] |
Property Let | [Let ] [ Objekt.] propname [( [arguments] )] = argument |
Eigenschaftensatz | Set [ Object.] propname [( [argumente] )] = objectArg |
Eigenschaftsprozeduraufrufe erfordern mindestens ein Argument, den Zuweisungsoperator (=) und den Namen der Eigenschaftenprozedur.
- In einem Aufruf mit dem Eigenschaftennamen auf der rechten Seite des Zuweisungsoperators ruft Visual Basic Property Get auf, um Informationen von der Klasse/dem Objekt zurückzugeben.
- In einem Aufruf mit dem Eigenschaftennamen auf der linken Seite des Zuweisungsoperators ruft Visual Basic Property Let oder Property Set auf, um Informationen innerhalb des Klassenobjekts zu aktualisieren.
Wenn die Deklaration einer Eigenschaftenprozedur über mehrere Parameter verfügt, übergibt das Argument auf der rechten Seite des Zuweisungsoperators an den letzten Parameter an die Property Let- oder Property Set-Prozeduren.
Im folgenden Diagramm wird beispielsweise Property Let verwendet, um zu zeigen, wie Argumente im Aufruf der Eigenschaftenprozedur (oben) mit Parametern in der Deklaration (unten) zusammenhängen:
Im folgenden Codebeispiel wird die Beziehung zwischen Eigenschaftenprozedurargumenten und Parametern veranschaulicht.
'DemoType class declaration
Private pW
Private pX
Private pY
Private pZ
Property Get DemoProperty(w, x, y)
'Calling format is: `z = DemoProperty(w, x, y)`
' or `Set z = DemoProperty(w, x, y)`
w = pW
x = pX
y = pY
If IsObject(pZ) Then
Set DemoProperty = pZ
Else
DemoProperty = pZ
End If
End Property
Property Let DemoProperty(w, x, y, z)
'Calling format is `DemoProperty(w, x, y) = z`
pW = w
pX = x
pY = y
pZ = z
End Property
Property Set DemoProperty(w, x, y, z As Object)
'Calling format is `Set DemoProperty(w, x, y) = z`
pW = w
pX = x
pY = y
Set pZ = z
End Property
Sub DemoSub()
Dim myDemo As Object
Dim a, b, c, d
Dim w, x, y, z
Set myDemo = New DemoType
a = "Hello"
b = ", "
c = "world"
d = "!"
Debug.Print Join(Array(a, b, c, d), "") ' Hello, world!a
'Call Property Let DemoProperty(a, b, c, d)
Let myDemo.DemoProperty(a, b, c) = d
'Call Property Get
d = myDemo.DemoProperty(a, b, c)
Debug.Print Join(Array(a, b, c, d), "") ' Hello, world!
End Sub
In der Praxis werden Eigenschaftenprozeduren mit mehreren Argumenten nur verwendet, um Arrays von Eigenschaften zu erstellen.
Siehe auch
- Konzeptuelle Visual Basic-Themen
- Visual Basic-Anweisungen
- Visual Basic-Benutzeroberfläche Fehlermeldungen
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.