Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Prüfen ob Verzeichnis vorhanden

Prüfen ob Verzeichnis vorhanden
31.08.2007 06:15:48
Mister
Hallo und guten Morgen,
ich weiss, dass man in VBA prüfen kann ob ein bestimmtes Verzeichnis vorhanden ist. Die Beiträge im Archiv helfen mir aufgrund mangelden Kenntnisses leider nicht weiter. Hier mein Problem:
Ich schreibe mittels UF viele Infos in eine Tabelle. Ich möchte prüfen ob ein Verzeichnis existiert dessen Name aus den Inhalt der TextBoxes 1 & 2 besteht, getrennt durch ein Komma. Z.B. In TextBox 1 steht "Mustermann", in TextBox2 "Max". VBA soll jetzt prüfen ob das Verzeichnis "C:\Dateien\Mustermann, Max" existiert. Falls nein, soll das Verzeichnis angelegt werden. Geht das? Hoffe ich habe mich verständlich ausgedruckt.
Gruß
Martin

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Verzeichnis vorhanden
31.08.2007 06:44:00
Mag
Hi,

Sub ttt()
Dim strVerzeichnis As String
strVerzeichnis = "C:\tempi"
'Überprüfen ob Verzeichnis vorhanden
If Dir(strVerzeichnis, vbDirectory)  "" Then
'Folder anlegen
MsgBox strVerzeichnis & ": mich gibt es!"
Else
MsgBox strVerzeichnis & ": mich gibt es aber nicht!"
Exit Sub
End If
End Sub


Gruss

Anzeige
AW: Prüfen ob Verzeichnis vorhanden
31.08.2007 13:30:05
Rudi
Hallo,

Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal Pfad As String) As Long
Sub Pfad_anlegen()
'Ist das Verzeichnis nicht wie angegeben vorhanden, wird es angelegt.
MakeSureDirectoryPathExists "C:\temp\test\test\test\"
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Verzeichnis in Excel VBA prüfen und anlegen


Schritt-für-Schritt-Anleitung

Um in Excel VBA zu prüfen, ob ein Ordner existiert und gegebenenfalls anzulegen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  3. Füge den folgenden VBA-Code ein:

    Sub VerzeichnisPruefenUndAnlegen()
       Dim strVerzeichnis As String
       Dim textBox1 As String
       Dim textBox2 As String
    
       ' Beispielwerte für TextBoxen
       textBox1 = "Mustermann"
       textBox2 = "Max"
    
       ' Erstelle den Verzeichnis-Pfad
       strVerzeichnis = "C:\Dateien\" & textBox1 & ", " & textBox2
    
       ' Überprüfen ob Verzeichnis vorhanden
       If Dir(strVerzeichnis, vbDirectory) = "" Then
           ' Verzeichnis anlegen
           MkDir strVerzeichnis
           MsgBox "Verzeichnis wurde angelegt: " & strVerzeichnis
       Else
           MsgBox "Verzeichnis existiert bereits: " & strVerzeichnis
       End If
    End Sub
  4. Führe das Skript aus:

    • Setze den Cursor in die Subroutine und drücke F5, um die Funktion auszuführen.

Häufige Fehler und Lösungen

  • Fehler: "Pfad nicht gefunden"
    Lösung: Stelle sicher, dass der übergeordnete Ordner existiert (z.B. C:\Dateien\). Der MkDir-Befehl kann nur den letzten Teil des Pfades erstellen.

  • Fehler: "Zugriff verweigert"
    Lösung: Überprüfe, ob du die notwendigen Berechtigungen hast, um im angegebenen Verzeichnis zu schreiben.


Alternative Methoden

Eine alternative Methode zum Prüfen und Anlegen von Verzeichnissen nutzt die MakeSureDirectoryPathExists-Funktion. Hier ist ein Beispiel:

Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal Pfad As String) As Long

Sub VerzeichnisAnlegen()
    Dim pfad As String
    pfad = "C:\temp\test\test\test\"
    MakeSureDirectoryPathExists pfad
    MsgBox "Verzeichnis wurde geprüft und ggf. angelegt."
End Sub

Diese Methode kann nützlich sein, wenn du tiefere Verzeichnisebenen anlegen möchtest.


Praktische Beispiele

  1. Beispiel für einen Benutzer-Input: Erstelle eine UserForm, in der Benutzer die Namen eingeben können. Der Code kann dann dynamisch die Ordnernamen basierend auf den Eingaben in den TextBoxen generieren.

  2. Prüfen ob Ordner existiert: Verwende den Dir-Befehl, um zu überprüfen, ob ein spezifischer Ordner bereits vorhanden ist, bevor du versuchst, ihn anzulegen.


Tipps für Profis

  • Verwende Konstanten: Definiere häufig verwendete Pfade als Konstanten, um deinen Code übersichtlicher zu gestalten.

  • Fehlerbehandlung einfügen: Nutze On Error Resume Next, um Fehler abzufangen und den Code robuster zu machen.

  • Überprüfe die Pfadlängen: In Windows gibt es eine maximale Pfadlänge. Achte darauf, dass deine Pfade diese nicht überschreiten.


FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob ein Ordner existiert, bevor ich ihn anlege?
Verwende den Dir-Befehl, um zu prüfen, ob der Ordner existiert. Wenn die Rückgabe leer ist, existiert der Ordner nicht.

2. Kann ich mehrere Ordner gleichzeitig anlegen?
Ja, du kannst eine Schleife verwenden, um mehrere Ordner nacheinander zu erstellen, solange du sicherstellst, dass die übergeordneten Ordner existieren.

3. Was passiert, wenn ich versuche, einen existierenden Ordner erneut anzulegen?
Es wird ein Laufzeitfehler generiert. Du solltest immer zuerst prüfen, ob der Ordner existiert, bevor du versuchst, ihn zu erstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige