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