Wie überprüfe ich, ob eine arbeitsmappe in einem ordner vorhanden ist?
Um zu überprüfen, ob eine Arbeitsmappe in einem bestimmten Ordner vorhanden ist, können Sie die DIR-Funktion verwenden. DIR ist eine Funktion, die das Verzeichnis darstellt. Sie müssen den Dateipfad mit Namen und Erweiterung angeben. Wenn eine Datei vorhanden ist, wird der Dateiname zurückgegeben, andernfalls ein leerer Wert.
Schreiben Sie Code, um zu prüfen, ob eine Excel-Datei in einem Ordner vorhanden ist
Führen Sie die folgenden Schritte aus:
- Geben Sie zunächst einen Bereich oder ein Meldungsfeld an, um das Funktionsergebnis zu erhalten.
- Geben Sie nun den Funktionsnamen „DIR“ ein und tippen Sie die führenden Klammern ein.
- Geben Sie anschließend den Dateipfad in doppelte Anführungszeichen ein und achten Sie darauf, die Dateierweiterung zusammen mit dem Dateinamen einzugeben.
- Geben Sie als Nächstes die schließenden Klammern ein, um die Codezeile zu schließen.
Sub vba_Check_workbook() MsgBox Dir("C:UsersDellDesktopbook1.xlsx") End Sub
Wenn Sie diese Codezeile ausführen, wird ein Meldungsfeld mit dem Dateinamen angezeigt. Dies bedeutet, dass die Datei an dem von Ihnen angegebenen Speicherort vorhanden ist.
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Suchen Sie nach mehreren Dateien, wenn sie in einem Ordner vorhanden sind
Möglicherweise müssen Sie mehrere Dateien überprüfen, wenn sie alle in einem Ordner vorhanden sind. In diesem Fall können Sie den folgenden Code verwenden.
Sub vba_check_workbook() Dim myFolder As String Dim myFileName As String Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A5") myFolder = "C:UsersDellDesktopData" For Each myCell In myRange myFileName = myCell.Value If Dir(myFolder & "" & myFileName) = "" Then myCell.Offset(0, 1) = "File Doesn't Exists." Else myCell.Offset(0, 1) = "File Exists" End If Next myCell End Sub
Um diesen Code zu verstehen, habe ich ihn in drei Teile unterteilt.
- Im ERSTEN Teil finden Sie alle Variablen, die wir im Code verwenden müssen. Eine Variable zur Verwendung als Ordneradresse, Dateiname, Bereich, in dem sich alle Namen befinden, und jede Zelle im Bereich.
- Im ZWEITEN Teil definieren Sie den Adressbereich, in dem Sie alle Namen der Dateien haben, die Sie überprüfen möchten. Und auch der der Variablen zugewiesene Ordnerpfad.
- Im DRITTEN Teil haben Sie einen LOOP FOR EACH, um alle Dateien im Ordner zu durchlaufen. Diese Schleife verwendet das DIR, um alle Namen im Bereich abzugleichen. Es verwendet auch IF STATEMENT , um einen Wert in die entsprechende Zelle als Bemerkung einzugeben, unabhängig davon, ob die Datei existiert oder nicht.
Hinweis: Wenn Sie diesen Code verwenden möchten, müssen Sie den Ordnerpfad ändern und den Bereich festlegen, in dem sich alle Arbeitsmappennamen befinden.