Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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.
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
Anzeige
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.
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
AW: Hilfe um Werte aus Registrierung auszulesen
Frank
Ich danke euch, da habe ich ersteinmal einiges auszuprobieren.
Frank.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige