VBA: Registry-Werte schreiben und lesen

Mit VBA auf die Registry zugreifen - so geht's

Von: Lorenz Hölscher
Stand: 4. Mai 2011
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Lorenz Hölscher

bild80517

Lorenz Hölscher ist freiberuflicher Dozent, Berater und Programmierer mit Schwerpunkt Anwendungs-Programmierung. Vorrangig widmet er sich Access, Word und Excel sowie begleitenden grafischen Arbeiten. Er legt viel Wert auf benutzerfreundliche Oberflächen und ordentliches Design in Optik und Programmierung. Zu Hilfe kommen ihm da seine langjährigen "branchenfremden" Erfahrungen als Architekt, Layouter und Designer.

Lorenz Hölscher bietet eigene Hilfeseiten an und hat bei Microsoft Press mehrere Bücher veröffentlicht zu Access 2007, Access 2007 VBA, Word 2007 VBA und Access 2010.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

In die Registry schreiben

Die Registry ist der optimale Ort, um Optionen für Ihren VBA-Code zwischenzuspeichern und später wieder darauf zuzugreifen. Lorenz Hölscher zeigt Ihnen verschiedene VBA-Befehle für den direkten Zugriff auf bestimmte Registry-Inhalte.

In die Registry schreiben

Mit SaveSetting können Sie von Word-VBA aus Zeichenketten im Registry-Zweig HKEY_CURRENT_USER\Software\VB and VBA Program Settings\ speichern.

Der SaveSetting-Befehl zum Schreiben ist in Word-VBA bereits vorhanden, lässt sich aber noch bequemer in einer eigenen Prozedur kapseln. Erstellen Sie in einem normalen Modul eine neue Prozedur RegWertSchreiben mit dem folgenden Code:

Const m_cstrAppName = "MeinProgramm"
Const m_cstrSektion = "Optionen"

Sub RegWertSchreiben(strWertname As String, strInhalt As String)
	SaveSetting m_cstrAppName, m_cstrSektion, strWertname, strInhalt
End Sub

Eine Pfad- oder Datei-Angabe für das Schreiben in die Registry ist nicht nötig, da diese Windows-intern bekannt ist. Daher müssen Sie nur den darin angesprochenen Schlüssel angeben, der aus den drei Verzweigungen AppName, Section und Key besteht.

Die Modul-öffentliche Konstante m_cstrAppName dient nur der einheitlichen Schreibweise des Programm-Namens, wobei dieser frei wählbar ist und keineswegs ein Programm-Name sein muss. Auch die Section in der Konstanten m_cstrSektion kann inhaltlich beliebig benannt werden. Sie werden bei vielen Werten aber froh sein, diese in solchen Gruppen zusammenfassen zu können.

Die letzten beiden Parameter stehen für den Namen des Schlüssels und seinen Wert. Obwohl die Registry eigentlich verschiedene Datentypen kennt, lassen sich mit SaveSetting (und später GetSetting zum Auslesen) nur String-Datentypen speichern und lesen.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein