Private Profilzeichenfolgen mit der Registrierung mit VBA in Microsoft Excel

Anonim

Private Profilzeichenfolgen werden häufig verwendet, um benutzerspezifische Informationen außerhalb der Anwendung/des Dokuments zur späteren Verwendung zu speichern.
Sie könnten zum Beispiel Informationen über den neuesten Inhalt in einem Dialog/Benutzerformular hinterlegen,
wie oft eine Arbeitsmappe geöffnet wurde oder die zuletzt verwendete Rechnungsnummer für eine Rechnungsvorlage.
Private Profilzeichenfolgen für jeden Benutzer können in der Registrierung gespeichert werden. Sie können auch eine INI-Datei verwenden,
entweder auf der lokalen Festplatte oder in einem freigegebenen Netzwerkordner.

Hier sind die Beispielmakros zum Schreiben und Lesen von privaten Profilzeichenfolgen in der Registrierung.

' In den Beispielen unten wird davon ausgegangen, dass der Bereich B3:B5 im aktiven Blatt ' Informationen zu Nachname, Vorname und Geburtsdatum enthält Next SaveSetting "TESTAPPLICATION", "Personal", "Lastname", Range("B3").Value SaveSetting "TESTAPPLICATION", "Persönlich", "Firstname", Range("B4").Value SaveSetting "TESTAPPLICATION", "Personal ", "Geburtsdatum", Range("B5").Value On Error GoTo 0 End Sub Sub ReadUserInfoFromRegistry() ' liest Informationen in der Registry aus ' HKEY_CURRENT_USER\Software\VB and VBA Program Settings\TESTAPPLICATION Range("B3"). Formula = GetSetting("TESTAPPLICATION", "Persönlich", "Nachname", "") Range("B4").Formula = GetSetting("TESTAPPLICATION", "Persönlich", "Vorname", "") Range("B5" ).Formula = GetSetting("TESTAPPLICATION", "Persönlich", "Geburtsdatum", "") End Sub ' Das folgende Beispiel geht davon aus, dass der Bereich D4 im aktiven Blatt t enthält ' Informationen über die eindeutige Nummer Sub GetNewUniqueNumberFromRegistry() Dim UniqueNumber As Long UniqueNumber = 0 On Error Resume Next UniqueNumber = CLng(GetSetting("TESTAPPLICATION", "Personal", "UniqueNumber", "")) On Error GoTo 0 Range ("D4").Formula = UniqueNumber + 1 SaveSetting "TESTAPPLICATION", "Personal", "UniqueNumber", Range("D4").Value End Sub Sub DeleteUserInfoFromRegistry() ' löscht Informationen in der Registry aus ' HKEY_CURRENT_USER\Software\ VB- und VBA-Programmeinstellungen\TESTAPPLICATION Bei Fehler Fortsetzen Weiter DeleteSetting "TESTAPPLICATION" ' alle Informationen löschen 'DeleteSetting "TESTAPPLICATION", "Persönlich" ' einen Abschnitt löschen 'DeleteSetting "TESTAPPLICATION", "Persönlich", "Geburtsdatum" ' einen Schlüssel löschen On Fehler GoTo 0 End Sub