Registry

Unter VBA ist es nicht notwendig, per API schreibend 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.

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

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 doch einmal notwendig werden sollte, einen Schlüssel auszulesen, kann man das ganz ohne API mit folgender Funktion:

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

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

Set ws = Nothing

End Function