Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1060to1064
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
Inhaltsverzeichnis

Registry auslesen

Registry auslesen
16.03.2009 15:14:57
herbi
Hallo,
habe hier vom Forum ein Script gezogen, welches die Registry ausliest und einer Variablen sPath den Pfad der Eigenen Dateien zuordnet.
Allerdings funktioniert das weitere Arbeiten mit sPath nicht. im Debugger wird mir als sPath der Pfad der Eigenen Dateien mit einem 4-Eck (hier als # dargestellt) am Ende angezeigt. Wenn ich den Pfad erweitere sieht das so aus: c:\..\Eigene Dateien#\Tracking. Kann das daran liegen? Wie bekomme ich dieses Zeichen weg?
Private Const MainKey = &H80000000
Private Const HKEY_CLASSES_ROOT = 0
Private Const HKEY_CURRENT_USER = 1
Private Const HKEY_LOCAL_MACHINE = 2
Private Const HKEY_USERS = 3
Private Const HKEY_PERFORMANCE_DATA = 4 '(nur NT)
Private Const HKEY_CURRENT_CONFIG = 5
Private Const HKEY_DYN_DATA = 6
Private Const KEY_ALL_ACCESS = &H3F
Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal sSubKey As String, ByVal lReserved As Long, ByVal lSecurity As Long, hKeyReturn As Long) As Long
Private Declare Function RegQueryValueExNULL Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long
Private Declare Function RegQueryValueExString Lib "advapi32" 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
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long

Private Function Reg_GetValue(KeyIndex%, subkey As String, Name As String) As String
lhKey& = MainKey + KeyIndex
Reg_GetValue = ""
l& = RegOpenKeyEx(lhKey&, subkey, 0, KEY_ALL_ACCESS, lhKeyOpen&): If l&  ERROR_SUCCESS  _
Then Exit Function
l& = RegQueryValueExNULL(lhKeyOpen&, Name, 0&, lTyp&, 0&, cch&): If l&  ERROR_SUCCESS  _
Then Exit Function
sValue$ = String(cch& + 1, 0)
l& = RegQueryValueExString(lhKeyOpen&, Name, 0&, lTyp&, sValue$, cch&): If l&   _
ERROR_SUCCESS Then Exit Function
Reg_GetValue = Left$(sValue$, cch&)
RegCloseKey lhKeyOpen&
End Function


Sub Reg_lesen()
Dim subkey As String
subkey = "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
sPath = Reg_GetValue(HKEY_CURRENT_USER, subkey, "Personal")
MsgBox sPath
End Sub


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Registry auslesen
16.03.2009 15:58:28
Tino
Hallo,
vieleicht geht es ja auch schon damit.
´
''Gültige Special Folder ** 
'        AllUsersDesktop 
'        AllUsersStartMenu 
'        AllUsersPrograms 
'        AllUsersStartup 
'        Desktop 
'        Favorites 
'        Fonts 
'        MyDocuments 
'        NetHood 
'        PrintHood 
'        Programs 
'        Recent 
'        SendTo 
'        StartMenu 
'        Startup 
'        Templates 

Sub Spezial_Ordner()
Dim objshell As Object
Dim sPath As String
Set objshell = CreateObject("WScript.Shell")

sPath = objshell.SpecialFolders("MyDocuments")
MsgBox sPath

End Sub


Gruß Tino

Anzeige
AW: Registry auslesen
16.03.2009 16:00:37
D.Saster
Hallo,

Wie bekomme ich dieses Zeichen weg?


sPath = WorksheetFunction.Clean(sPath)
Gruß
Dierk

COOL - danke
16.03.2009 16:17:09
herbi
funtioniert super

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige