AW: Verzeichnisse erstellen
21.09.2004 09:03:18
Philipp
Hallo Martin
Am einfachsten geht es mit einer kleinen Funktion, in welcher die API-Funktion 'MakeSureDirectoryPathExists' aufgerufen wird:
'Deklarationsbereich
Declare
Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal DirPath As String) As Long
'Codemodul
Function CreateDirectoryTree(ByVal strNewPath As String) As Boolean
If Right$(strNewPath, 1) <> "\" Then
strNewPath = strNewPath & "\"
End If
If MakeSureDirectoryPathExists(strNewPath) <> 0 Then
'* Kein Fehler aufgetreten *
'Pfad existiert bereits oder wurde soeben erfolgreich angelegt
CreateDirectoryTree = True
Else
'* Fehler aufgetreten *
'Mögliche Ursachen:
' - Der Pfad existiert nicht, kann aber nicht angelegt werden, da der Pfad ungültige Zeichen enthält.
' - Der Pfad existiert nicht, kann aber nicht angelegt werden, da der angemeldete Benutzer nicht genügende
' Berechtigungen zum Anlegen von Verzeichnissen besitzt (Write/Create).
' - Die Existenz des Pfades kann nicht geprüft werden, da das angegebene Device nicht verfügbar ist (z.B.
' bei unterbrochener Netzwerkverbindung).
' - Der Pfad ist grundsätzlich falsch (z.B. wenn ein Ausdruck angegeben wird, welcher kein Pfad
' repräsentiert, wie z.B. der Pfad "Regenwetter").
' - Das im Pfad angegebene Laufwerk existiert nicht (z.B. falscher Laufwerkbuchstabe).
' - Der erforderte Datenträger ist nicht bereit (z.B. Diskette nicht eingelegt).
' - Auf das angegebene Laufwerk bzw. den Datenträger kann nicht geschrieben werden (z.B. Schreibschutz
' der Diskette aktiviert oder CD-ROM).
CreateDirectoryTree = False
End If
End Function
Und so wird die obige Funktion aufgerufen:
Sub TestCall()
If CreateDirectoryTree("C:\Verz1\Verz2\Verz3") = True Then
MsgBox "Der Pfad wurde angelegt."
Else
MsgBox "Der Pfad konnte nicht angelegt werden."
End If
End Sub
Gruss
Philipp