Registrierung mit VBA auslesen, wie?

Hallo,

mit Save- bzw. GetSettings() komme ich in VBA nur an die VBA-Settings in der Registry ran, oder?
Falls dem so ist:
Wie komme ich an alle anderen Einträge der Registry ran? Habe ich da was übersehen in der Hilfe?

Danke!
Kristian

hallo,

mit dem thema hab ich mich auch schon beschäftigt…
und ja, du kommst nur an die vba-settings ran. (so ist wenigstens mein stand, ansonsten bitte ich, mich zu verbessern)

da must du schon auf c++ oder so ausweichen…

viele grüße

rasta

hallo,

mit dem thema hab ich mich auch schon beschäftigt…
und ja, du kommst nur an die vba-settings ran. (so ist
wenigstens mein stand, ansonsten bitte ich, mich zu
verbessern )

da must du schon auf c++ oder so ausweichen…

viele grüße

Ich hab’s gerade selbst noch gefunden - zufällig.
Zumindest das Auslesen geht:

Verbesserung : :wink:

Sub REG()
Dim KeyValue As String
Dim Key As String
Dim Section As String
 'zum Beispiel:
 Key = "username"
 Section = "HKEY\_LOCAL\_MACHINE\Network\Logon"
 KeyValue = System.PrivateProfileString("", Section, Key)
 MsgBox KeyValue
End Sub 'Reg()

Kristian

und das reinschreiben funtkioniert so nicht, oder?

und das reinschreiben funtkioniert so nicht, oder?

Nee, macht er nicht. Jedenfalls nicht, wenn ich einfach aus „KeyValue = System.PrivateProfileString(…)“ ein „System.PrivateProfileString(…) = KeyValue“ mache.
Bei Ini-Files geht das laut Hilfe, aber bei der Registry offenbar nicht. Vielleicht stimmte auch nur der Parameter nicht. Kannst ja mal rumprobieren.

Kristian

Hi Kris !

Hier ist alles was Du brauchst !

Public Declare Function RegCreateKeyEx Lib „advapi32.dll“ _
Alias „RegCreateKeyExA“ (ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal Reserved As Long, _
ByVal lpClass As String, _
ByVal dwOptions As Long, _
ByVal samDesired As Long, _
lpSecurityAttributes As SECURITY_ATTRIBUTES, _
phkResult As Long, _
lpdwDisposition As Long) As Long

Public Declare Function RegQueryValueEx Lib „advapi32.dll“ _
Alias „RegQueryValueExA“ (ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
lpType As Long, _
ByVal lpData As String, _
lpcbData As Long) As Long

Public Declare Function RegOpenKeyEx Lib „advapi32.dll“ _
Alias „RegOpenKeyExA“ (ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal ulOptions As Long, _
ByVal samDesired As Long, _
phkResult As Long) As Long

Public Declare Function RegEnumKeyEx Lib „advapi32.dll“ _
Alias „RegEnumKeyExA“ (ByVal hKey As Long, _
ByVal dwIndex As Long, _
ByVal lpName As String, _
lpcbName As Long, _
ByVal lpReserved As Long, _
ByVal lpClass As String, _
lpcbClass As Long, _
lpftLastWriteTime As FILETIME) As Long

Public Declare Function RegEnumValue Lib „advapi32.dll“ _
Alias „RegEnumValueA“ (ByVal hKey As Long, _
ByVal dwIndex As Long, _
ByVal lpValueName As String, _
ByRef lpcbValueName As Long, _
ByVal lpReserved As Long, _
ByRef lpType As Long, _
ByVal lpData As String, _
ByRef lpcbData As Long) As Long

Public Declare Function RegDeleteKey Lib „advapi32.dll“ _
Alias „RegDeleteKeyA“ (ByVal hKey As Long, _
ByVal lpSubKey As String) As Long

Public Declare Function RegDeleteValue Lib „advapi32.dll“ _
Alias „RegDeleteValueA“ (ByVal hKey As Long, _
ByVal lpValueName As String) As Long

Public Declare Function RegSetValueEx Lib „advapi32.dll“ _
Alias „RegSetValueExA“ (ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
ByVal lpData As String, _
ByVal cbData As Long) As Long

Public Declare Function RegSetValueNum Lib „advapi32.dll“ _
Alias „RegSetValueExA“ (ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Long, _
ByVal cbData As Long) As Long

Public Declare Function RegCloseKey Lib „advapi32.dll“ (ByVal hKey As Long) As Long

ciao
Mario

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich bin beeindruckt. :wink:
Werde das mal auseinanderklabüstern in einer ruhigen Minute. Okay, in zwei Minuten.

Danke!
Kris[tian]