öffentlich
Redaktion Druckversion

Prozeduren und Parameter optimieren

2.666665
(3)
Beitrag bewerten
Ersten Kommentar schreiben
Stand: 1. Juni 2011

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.

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Inhalt

Downloads zu diesem Beitrag

Newsletter abonnieren