vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem · Ordner & Verzeichnisse   |   VB-Versionen: VB623.07.08
MakeDirectory - Verzeichnis beliebiger Tiefe erzeugen

Mit dieser Funktion lassen sich mit einem einzigen Aufruf auch geschachtelter Verzeichnis mehrere Ebenen erstellen.

Autor:   Johannes BrauniasBewertung:  Views:  12.376 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Mit der "normalen" MKDir-Funktion von VB lassen sich bekanntlich keine geschachtelten Verzeichnisse mehrere Ebenen erstellen.

Für diesen Zweck können Sie ab sofort nachfolgende Funktion MakeDirectory verwenden.

Public Function MakeDirectory(ByVal sPath As String, _
  Optional ByVal blnRaiseError As Boolean = True) As Boolean
 
  ' Fehlerbehandlung akttivieren
  On Error GoTo ErrorHandler
 
  Dim sTempPath As String
  Dim i As Integer
 
  ' ggf. abschl. Backslash anfügen
  If Right$(sPath, 1) <> "\" Then sPath = sPath & "\"
 
  ' Teilpfade
  Dim sPart() As String
  sPart = Split(sPath, "\")
 
  ' jetzt alle Pfade durchlaufen
  For i = LBound(sPart) To UBound(sPart) - 1
    ' Pfad zusammensetzen
    sTempPath = sTempPath & sPart(i) & "\"
 
    ' Falls das Verzeichnis noch nicht existiert...
    If Len(Dir(sTempPath, vbDirectory)) = 0 Then
      ' ...jetzt erstellen
      MkDir sTempPath
    End If
  Next i
  MakeDirectory = True
  Exit Function
 
ErrorHandler:
  If blnRaiseError Then
    Err.Raise Err.Number, Source:="MakeDirectory:", _
      Description:="Unerwartete Ausnahme bei der Verzeichniserstellung: " & sPath
  End If
End Function



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.