Freitag, 10. Februar 2012

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Tipp/Trick
Privatordner "Eigene Dateien" ändern
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.


Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de