Privatordner „Eigene Dateien“ ändern
Veröffentlicht am 01.10.2004
Beim Öffnen bzw. Speichern einer Office-Datei gibt Windows den Ordner „Eigene Dateien“ als Verzeichnis vor. Der Name dieses Ordners befindet sich auch in der Windows-Registratur, damit alle Applikationen darauf zugreifen können. Mit den Funktionen zum Bearbeiten der Registratur können Sie diese Voreinstellung innerhalb von Access ändern.
Zur Vorbereitung benötigen Sie den folgenden Programmcode im Deklarationsbereich:
Public Const HKEY_CURRENT_USER = &H80000001
Public Const KEY_QUERY_VALUE = &H1
Public Const ERROR_SUCCESS = 0&
Public Const REG_SZ = 1
Public Const KEY_SET_VALUE = &H2
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
Declare Function RegSetValue Lib "advapi32.dll" Alias _
"RegSetValueExA" (ByVal hKey As Long, _
ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, _
ByVal cbData As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Der betreffenden Schlüssel zum Ändern des Standardverzeichnisses finden Sie im Bereich HKEY_CURRENT_USER unter Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders.
Eine VBA-Funktion, die den neuen Standardordner für Office-Dokumente ändert, sieht wie folgt aus:
Public Function PrivatordnerÄndern(strNeuerOrdner As String)
Dim strSchlüssel As String, lSchlüssel As Long
Dim Länge As Long
strSchlüssel = "Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
Länge = Len(strNeuerOrdner)
If RegOpenKeyEx(HKEY_CURRENT_USER, strSchlüssel, _
ByVal 0&, KEY_SET_VALUE, lSchlüssel) _
= ERROR_SUCCESS Then
If RegSetValue(lSchlüssel, "Personal", ByVal 0&, _
REG_SZ, ByVal strNeuerOrdner, Länge) _
= ERROR_SUCCESS Then
Debug.Print "Privatordner geändert"
Else
Debug.Print "Privatordner nicht geändert"
End If
RegCloseKey lSchlüssel
End If
End Function
Um den Privatordner in „C:\MeineDokumente“ zu ändern, rufen Sie die Funktion folgendermaßen auf:
PrivatordnerÄndern ("C:\MeineDokumente")
Beachten Sie, daß die Änderung erst beim nächsten Start der Anwendung wirksam wird.