Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Anwendungsdaten aus der Registry auslesen

Die Funktion SaveSetting speichert Anwendungsdaten an entsprechender Stelle in der Registry. Zum Auslesen gibt es direkt mehrere Funktionen: Eine, die einen einzelnen Wert ausliest und eine fr alle zu einer Anwendung gehrenden Einstellungen.

Einzelnen Registry-Eintrag lesen

Die VBA-Funktion GetSetting liest Anwendungsinformationen aus der Registry aus, die normalerweise mit SaveSetting dort gespeichert wurden. Die Werte befinden sich dabei unterhalb des Pfades HKEY_CURRENT_USER\Software\VB and VBA Program Settings.

Die folgende Anweisung ermittelt den Wert eines Schlssel namens "Schlssel 1" aus dem Zweig Beispieldatenbank\Bereich 1 unterhalb des oben genannten Pfades und gibt ihn im Testfenster aus:

Debug.Print GetSetting ("Beispieldatenbank", "Bereich 1", "Schlssel 1")

Als vierten Parameter kann man noch einen Wert angeben, den die Funktion zurckliefern soll, wenn der gesuchte Schlssel in der Registry nicht existiert.

Alle Registry-Eintrge fr einen Bereich einer Anwendung lesen

Wenn mehrere Eintrge eingelesen werden sollen, kann man dies in einem Rutsch mit der Funktion GetAllSettings erledigen. Die Funktion liest alle Schlssel-Wert-Paare unterhalb des mit den Parametern AppName und Section angegebenen Registry-Zweiges in dem entsprechenden Bereich der Registry in ein Array ein.

Die folgende Routine zeigt, wie dies funktioniert. Sie legt zunchst drei Schlssel-Wert-Paare in der Registry an und liest diese anschlieend mit der Funktion GetAllSettings in ein Array ein. Den Inhalt dieses zweidimensionalen Arrays gibt die Prozedur anschlieend im Direktfenster aus:

Public Sub RegistryEintraege()

    Dim varSettings As Variant

    Dim i As Integer

    SaveSetting "VBABuch", "Bereich", "Schlssel1", "Schlsselwert1"

    SaveSetting "VBABuch", "Bereich", "Schlssel2", "Schlsselwert2"

    SaveSetting "VBABuch", "Bereich", "Schlssel3", "Schlsselwert3"

    varSettings = GetAllSettings("VBABuch", "Bereich")

    For i = LBound(varSettings) To UBound(varSettings)

        Debug.Print varSettings(i, 0) & ": " & varSettings(i, 1)

    Next i

End Sub

© 2003-2015 André Minhorst Alle Rechte vorbehalten.