Registry

Unter VBA ist es niemals notwendig, per API auf die Registry zuzugreifen.

Wenn eine Applikation eigene Registryeinträge verwenden soll, sollten diese stets unter HKEY_CURRENT_USER\Software\VB and VBA Program Settings eingetragen werden. VBA stellt dafür mit GetSetting, GetAllSettings, SaveSetting und DeleteSetting spezielle Funktionen zur Verfügung.

Darüber hinausgehendes Überschreiben oder Löschen von Einträgen in der Registry kann zu erheblichen, teils irreversiblen Beschädigungen des Betriebssystems führen. Falls es einmal notwendig werden sollte, einen anderen Schlüssel auszulesen, geht das mit folgender Funktion:

Public Function RegRead(Key As String) As String
Dim ws As Object

Set ws = CreateObject("WScript.Shell")
RegRead = ws.RegRead(Key)

objNetzwerk = Nothing

End Function

SaveSetting "Anhalter", "Problem", "Antwort", 42
Debug.Print RegRead("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Anhalter\Problem\Antwort")
42