HERBERS Excel-Forum - die Beispiele

Thema: Vorhandensein von Verzeichnissen prüfen und Ordner anlegen

Home

Gruppe

Datei

Problem

Es soll geprüft werden, ob ein Verzeichnis mit Unterverzeichnissen bereits besteht. Wenn ja, soll eine entsprechende Meldung erfolgen, wenn nein sollen sie erstellt werden.

Lösung
Den nachstehenden Code in ein Standardmodul eingeben, einer Schaltfläche zuweisen und starten.
StandardModule: Modul1

Sub Pruefen()
   Dim arrOrdner As Variant
   Dim iOrdner As Integer
   Dim sDrive As String, sOrdner As String, sTmp As String
   sOrdner = InputBox("Zu erstellendes Verzeichnis:", , Range("B1").Value)
   If sOrdner = "" Then Exit Sub
   If Right(sOrdner, 1) = "\" Then
      sOrdner = Left(sOrdner, Len(sOrdner) - 1)
   End If
   arrOrdner = fncFolders(sOrdner)
   For iOrdner = UBound(arrOrdner) To 1 Step -1
      If fncIfFolderExists(CStr(arrOrdner(iOrdner))) Then
         MsgBox "Ordner " & arrOrdner(iOrdner) & " ist bereits vorhanden!"
      Else
         MkDir arrOrdner(iOrdner)
      End If
   Next iOrdner
End Sub

Private Function fncFolders(sFolder As String) As Variant
   Dim arr() As String
   Dim iCounter As Integer, iFolder As Integer
   ReDim arr(1 To 1)
   arr(1) = sFolder
   iFolder = 1
   For iCounter = Len(sFolder) To 4 Step -1
      If Mid(sFolder, iCounter, 1) = "\" Or iCounter = 1 Then
         iFolder = iFolder + 1
         ReDim Preserve arr(1 To iFolder)
         arr(iFolder) = Left(sFolder, iCounter - 1)
      End If
   Next iCounter
   fncFolders = arr
End Function

Private Function fncIfFolderExists(sFolder As String) As Boolean
   Dim sOld As String
   sOld = CurDir
   On Error Resume Next
   ChDrive Left(sFolder, 1)
   ChDir sFolder
   If Err = 0 Then fncIfFolderExists = True
   On Error GoTo 0
   ChDrive Left(sOld, 1)
   ChDir sOld
End Function

Beiträge aus dem Excel-Forum zu den Themen Datei und Verzeichnis

Excel/PDF Datei unter bestimmten Pfad abspeichern aus excel Worddatei nach Wert durchsuchen
Split-Funktion beim Einlesen TXT-Datei Datei löschen mit unterschiedlichen Zahlen im Name
Datei löschen mit unterschiedlichen Zhalen im Name geöffnete Worddatei und Word aus Excel beenden
Excel-Datei nicht im Projekt-Explorer Suche nach jüngster Datei
Mehrere Zellen in mehreren Dateien ersetzen Datei öffnen mit variablen im Namen
Vergleichen zweier Dateien und aktualisieren Datei langsam durch Formel
Dateien aus Unterordner öffnen Daten import aus txt--Datei
Dateipfad öffnen mit VBA Datei-Verknüpfungen
Masterdatei erschaffen? Mehrere Datenblätter als PDF-Datei ausgeben
Makro bei Erstellen einer Datei aus einer Vorlage Zusammenführung aus mehreren Dateien
Rechteck per Button in andere Datei einfügen. Alle Dateien in einem Unterordner öffnen
VBA: MsgBox: yes/no. Bei yes andere Datei öffnen Mehrere txt Dateien einlesen in ein Programm
VBA Datei als .txt speichern Excel Datei in CSV Datei wandeln mit Extras
aktierten Text in geöffnete Worddatei Spalte in andere Dateien kopieren + zurückkopieren
Aus einer CSV-Datei ein bestimmtes Layout erzeugen Daten ausgew. WS in 2. Datei zusammenführen
VBA Links im Verzeichnis auslesen Per VBA aktuelle Datei in Autostart-Ordner
csv Dateien importieren Makrodatei als Software hochwertiger gestalten
manuelles Speichern bei schreibgeschützter Datei Daten aus geschlossener Datei in Zieldatei kopiere
Dateinamen per VBA vorgeben (Datum: Vormonat) Ordner mit Unterordnern/Dateien kopieren
Ein Verzeichnis per VBA löschen Auswertung über mehrere Dateien
Geschlossene Excel-Datei bearbeiten? datei öffnen durch vba ohne makroaktivierung
Datei öffnet im Entwurfsmodus Dateinamen der ausgelesenen Datei anzeigen
Dateien vergleichen-doppelte löschen Datendatei per Doppelklick einlesen
Hyperlink auf Excel-Datei funktioniert nicht Kopieren über 2 Dateien?
Dateiinfo aller Dateien in allen Verz./Unterverz