title image


Smiley So ganz genau weiss ich ja nicht, was Du meinst...
...aber ich schicke Dir mal ein Coding, bei dem das nicht mehr notwendig ist, weil wegen: Die Funktion bekommt einfach den kompletten Namen des zu erstellenden Verzeichnisses übergeben und erstellt diesen (ggf. einschließlich nicht existierender Zwischenverzeichnisse).



Folgendes Coding in ein allgemeines Modul kopieren:





Public Enum enCreateDirectoryRC

DirectoryCreated = 1

DirectoryAlreadyExisted = 2

DirectoryCreationFailed = 3

End Enum









Public Function CreateDirectory(ByVal sPath As String) As enCreateDirectoryRC



' =============================================================================

' Funktion:

' =========

' Existenzprüfung und ggf. Neuanlage des übergebenen Verzeichnisses

'

' Eingabeparameter:

' =================

' sPath: Name des anzulegenden Verzeichnisses

'

' Rückgabewert:

' =============

' DirectoryCreated : Verzeichnis wurde neu angelegt

' DirectoryAlreadyExisted: Verzeichnis nicht angelegt, da es bereits existiert

' DirectoryCreationFailed: Verzeichnis nicht angelegt, da Laufzeitfehler aufgetreten

' =============================================================================



Dim arrFolder() As String

Dim sPathTemp As String

Dim i As Long



On Error GoTo CreateDirectoryErr



' Ggf. anhängenden Backslash abtrennen:

If Right(sPath, 1) = "\" Then

sPath = Left(sPath, Len(sPath) - 1)

End If



' Verzeichnis in Array splitten:

arrFolder = Split(sPath, "\")



' Laufwerk ermitteln:

sPathTemp = arrFolder(0)



For i = 1 To UBound(arrFolder)



' "." und ".." Verzeichnisse ausschließen /

' Liefert nicht löschbare Verzeichnisse

If arrFolder(i) = "." Or arrFolder(i) = ".." Then

Exit Function

End If



sPathTemp = sPathTemp & "\" & arrFolder(i)



' Verzeichnis auf Existenz prüfen und bei Bedarf neu anlegen:

If Dir(sPathTemp, vbDirectory) = "" Then

MkDir sPathTemp

CreateDirectory = DirectoryCreated

Else

CreateDirectory = DirectoryAlreadyExisted

End If



Next i





CreateDirectoryExit:

Exit Function



CreateDirectoryErr:

CreateDirectory = DirectoryCreationFailed

Resume CreateDirectoryExit



End Function





Testen z.B. so:





MsgBox CreateDirectory("C:\Temp\asdf\jklö\qwer\uiop\asdf")





Die MsgBox müsste den Wert 1 (= DirectoryCreated / Verzeichnis erstellt) zurückgeben, wenn's geklappt hat. Das wunderbare Verzeichnis findest Du dann in C:\Temp\



Schönen Gruß,

Eric

Spotlight-Kicktipp gestartet!

Steig ein und trete mit Deinem Bundesliga-Tipp gegen die Besten an! :o)

http://www.kicktipp.de/spotlight/



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: