Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hilfe um Werte aus Registrierung auszulesen

Forumthread: Hilfe um Werte aus Registrierung auszulesen

Hilfe um Werte aus Registrierung auszulesen
02.08.2004 17:59:58
Frank
Hallo, wer kann mir bei einem Problem helfen?
Ich arbeite seit einiger Zeit mit VBA, und vorher mit Office ´97. In manchen Projekten haben ich mit dem Befehl "System.PrivateProfileString()" Werte aus der Windows Registierung ausgelesen. Nach dem Umstieg auf Office 2003 gibt es diesen Befehl nicht mehr. Der neue Befehl lautet "GetSettings()", aber irgendwie bekomme ich keine auswertbare Rückmeldung. Die VBA-Hilfe hilft mir leider nicht weiter. Hilfreich wären Angaben zu "GetSettings()" oder in welcher -.dll ich den alten Befehl finden kann, um ihn über die Verweise wieder zu aktivieren. Vielleicht kennt jemand entsprechende Lektüre.
Danke Frank
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe um Werte aus Registrierung auszulesen
02.08.2004 18:23:30
Nepumuk
Hallo Frank,
kannst du mir den genauen Pfad zu den Einträgen schreiben?
Beispiel:
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\......
Gruß
Nepumuk
AW: Hilfe um Werte aus Registrierung auszulesen
Frank
Hey Nepumuk,
ich verwende für meine Daten einen eigenen Software-Schlüssel; "HKEY_Current_User\" _
& "Software\Büro". Aber selbst wenn ich auf Standardwerte n = GetSetting("Microsoft Excel", "Arbeitsplatz\HKEY_Current_USER\Software\Microsoft\Office\11.0\Excel\" _
& "Options", "Font") zugreifen möchte bekomme ich nur einen Leer-String als Antwort.
Gruß Frank.
Anzeige
AW: Hilfe um Werte aus Registrierung auszulesen
Ulf
Mit GetSetting/SaveSetting kannst du nur auf den vordefinierten Pfad zugreifen. Was du
willst, geht nur mit API oder WSH.
Ulf
AW: Hilfe um Werte aus Registrierung auszulesen
02.08.2004 19:38:55
Frank
Hallo Ulf,
kennst du vielleicht die "DLL" in der der alte Befehl "System.PrivateProfileString()" zu finden ist. Mit dem konnte ich jegliche Werte auslesen und verändern.
Frank.
Anzeige
AW: Hilfe um Werte aus Registrierung auszulesen
Ulf
Option Explicit
Declare

Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare 

Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Sub Get_Set()
Dim Ret As String, NC As Long
WritePrivateProfileString App.Title, "KeyName", "This is the value", "c:\test.ini"
Ret = String(255, 0)
NC = GetPrivateProfileString(App.Title, "KeyName", "Default", Ret, 255, "C:\test.ini")
If NC <> 0 Then Ret = Left$(Ret, NC)
MsgBox Ret
Kill "c:\test.ini"
End Sub

ungetestet
Ulf
Anzeige
AW: Hilfe um Werte aus Registrierung auszulesen
02.08.2004 20:08:32
Nepumuk
Hallo Ulf,
falsche Funktion. Schau mal unter RegCloseKey. Dort findest du ein schönes Beispiel.
Gruß
Nepumuk
AW: Hilfe um Werte aus Registrierung auszulesen
02.08.2004 19:58:11
Nepumuk
Hallo Frank,
das geht auch so:

Sub lesen()
Dim myWshShell As New WSHShell
MsgBox myWshShell.RegRead("HKLM\SYSTEM\ControlSet001\Control\FileSystem\NtfsEncryptionService")
End Sub

Schreiben geht mit: RegWrite
Du musst einen Verweis auf Windows Scripting Host Object Model setzen.
(HKLM = HKEY_LOKAL_MACHINE / HKCU = HKEY_CURRENT_USER)
Gruß
Nepumuk
Anzeige
AW: Hilfe um Werte aus Registrierung auszulesen
Frank
Ich danke euch, da habe ich ersteinmal einiges auszuprobieren.
Frank.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige