Datenwerte zurückgeben
Properties statt Funktionen
Dazu brauchen Sie ein Property-Paar. Normalerweise besteht das Paar aus Let/Get, nur bei der Zuweisung von Objektvariablen muss es Set/Get heißen. Durch diesen Zusatz darf die Property wie im folgenden Listing namensgleich sein, denn der Compiler kann den lesenden und den schreibenden Zugriff auseinanderhalten.
Dim m_intAlter As Integer Public Property Get Alter() As Integer Alter = m_intAlter End Property Public Property Let Alter(ByVal intWert As Integer) m_intAlter = intWert End Property Sub TesteAlter() Alter = 99 'neuen Inhalt zuweisen MsgBox "Alter: " & Alter 'jetzt ist 99 enthalten End Sub
Ansonsten hat sich gegenüber dem Einsatz von Function und Sub aus dem vorigen Listing eigentlich nichts geändert, außer dass jetzt Anzahl und Typ der Parameter dieses Property-Pärchens zueinander passen müssen.
Daher ist es durchaus bequem, die beiden minimalen Prozedur-Rümpfe für Property Let und Property Get über das Menü Einfügen/Prozedur und den folgenden Dialog erstellen zu lassen.
Einfügen einer neuen Property
Dann erhalten Sie den im folgenden Listing gezeigten Code, der ziemlich standardisiert ohne zusätzliche Argumente und immer nur für das Let/Get-Paar erstellt wird.
Public Property Get DocEigenschaft() As Variant End Property Public Property Let DocEigenschaft(ByVal vNewValue As Variant) End Property
Sowohl für Set/Get als auch weitere Argumente müssen Sie diese Code-Fragmente nachträglich ergänzen. Dabei können Sie identische Parameter hinzufügen, wobei die Property Let den hier vNewValue genannten Parameter immer am Ende zusätzlich hat. Dieser Parameter darf einen beliebigen Namen und Datentyp (aber immer passend zum Datentyp der Get-Property!) erhalten.
Der Aufruf dieser beiden noch funktionslosen Properties liest sich dann so:
Sub TesteProp() DocEigenschaft = "Test" MsgBox "Aktueller Wert: " & DocEigenschaft End Sub
Da es aber verschiedene Dokument-Eigenschaften gibt, benötigen Sie noch einen zusätzlichen Parameter für den Eigenschafts-Namen, damit es brauchbar funktioniert.
Dies ist eine Leseprobe
Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!
Auf VBA: Prozeduren und Parameter optimieren erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.
Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.
Ich bin bereits Mitglied