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

Forumthread: Prüfen ob Datei vorhanden ist

Prüfen ob Datei vorhanden ist
30.11.2007 18:31:00
Mister
Guten Abend,
ich möchte aus einer Excel Datei heraus prüfen ob sich eine bestimmte Datei (test.pdf) im gleichen Ordner wie die Excel Datei befindet (Wenn Ja - Makro 1, wenn Nein - Makro 2).
Ich weiss, dass es zu diesem Thema einiges im Archiv gibt aber ich habe leider nichts passendes gefunden.
Gruß
Martin

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Datei vorhanden ist
30.11.2007 19:12:34
Hajo_Zi
Hallo Martin,

Option Explicit
Sub Vorhanden_Datei()
'   Fehler falls LW nicht vorhanden
If Dir("L:\Eigene Dateien\Hajo\Adresse1.xls") Then
MsgBox "vorhanden"
Else
MsgBox "nicht vorhanden"
End If
End Sub
Sub Datei_vorhanden()
'   von Berti Koern
Dim Fso, Dateiname
Set Fso = CreateObject("Scripting.FileSystemObject")
Dateiname = "D:\Eigene Dateien\Hajo\Adresse.xls"
'   Egänzung öffnung Hajo
If Fso.FileExists(Dateiname) Then
Workbooks.Open Dateiname
End If
End Sub
Sub Vorhanden_Phad()
'   Fehler falls LW nicht vorhanden
If Dir("C:\Eigene Dateien\")  "" Then
MsgBox "vorhanden"
Else
MkDir "C:\Eigene Dateien\"
MsgBox "nicht vorhanden"
End If
End Sub
Sub Ordner_vorhanden()
'   von Berti Koern
Dim Fso, Ordnername
Set Fso = CreateObject("Scripting.FileSystemObject")
Ordnername = "C:\Eigene Dateien\"
'    MsgBox Fso.FolderExists(Ordnername)
If Fso.FolderExists(Ordnername) = False Then MkDir "C:\Eigene Dateien\"
End Sub



Anzeige
AW: Prüfen ob Datei vorhanden ist
30.11.2007 19:14:00
Original
Hi,
If Dir(ThisWorkbook.Path & "\test.pdf") = 0 Then
Call Makro2
Else
Call Makro1
End If
mfg Kurt

AW: Prüfen ob Datei vorhanden ist
30.11.2007 19:19:56
Mister
Guten Abend,
der Vorschlag von Kurt funktioniert perfekt!
Gruß
Martin
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Prüfen, ob eine Datei in Excel vorhanden ist


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA zu prüfen, ob eine Datei vorhanden ist, kannst Du folgenden Code verwenden:

Sub DateiPruefen()
    Dim Dateiname As String
    Dateiname = ThisWorkbook.Path & "\test.pdf" ' Pfad zur Datei

    If Dir(Dateiname) = "" Then
        Call Makro2 ' Datei existiert nicht
    Else
        Call Makro1 ' Datei existiert
    End If
End Sub

Dieser VBA-Code prüft, ob die Datei test.pdf im gleichen Verzeichnis wie die Excel-Datei vorhanden ist. Wenn die Datei nicht existiert, wird Makro2 aufgerufen, andernfalls Makro1.


Häufige Fehler und Lösungen

  1. Fehler: "Datei nicht gefunden"

    • Lösung: Überprüfe den Pfad zur Datei. Stelle sicher, dass der Pfad korrekt ist und die Datei tatsächlich an diesem Ort liegt.
  2. Fehler: "Makro nicht definiert"

    • Lösung: Stelle sicher, dass die Makros Makro1 und Makro2 korrekt definiert sind und keine Schreibfehler enthalten.

Alternative Methoden

Neben der Verwendung von Dir, gibt es auch die Möglichkeit, die FileSystemObject-Klasse zu verwenden, um zu prüfen, ob eine Datei vorhanden ist. Hier ein Beispiel:

Sub DateiVorhandenMitFSO()
    Dim Fso As Object
    Dim Dateiname As String

    Set Fso = CreateObject("Scripting.FileSystemObject")
    Dateiname = ThisWorkbook.Path & "\test.pdf"

    If Fso.FileExists(Dateiname) Then
        Call Makro1
    Else
        Call Makro2
    End If
End Sub

Diese Methode bietet mehr Flexibilität und kann auch für weitere Dateimanipulationen verwendet werden.


Praktische Beispiele

Angenommen, Du möchtest beim Öffnen Deiner Excel-Datei automatisch prüfen, ob eine bestimmte Datei existiert. Du könntest den folgenden Code im Workbook_Open-Ereignis verwenden:

Private Sub Workbook_Open()
    If Dir(ThisWorkbook.Path & "\test.pdf") = "" Then
        MsgBox "test.pdf nicht gefunden!"
    Else
        MsgBox "test.pdf ist vorhanden."
    End If
End Sub

Dieses Beispiel zeigt eine einfache Benachrichtigung, basierend auf dem Vorhandensein der Datei.


Tipps für Profis

  • Verwende immer vollständige Dateipfade, um Verwechslungen zu vermeiden.
  • Berücksichtige mögliche Dateiendungen (.pdf, .xls, .docx), wenn Du nach verschiedenen Dateitypen suchst.
  • Füge Fehlerbehandlungsroutinen in Deine Makros ein, um unerwartete Situationen abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob ein Ordner vorhanden ist? Du kannst den gleichen Ansatz wie bei Dateien verwenden, aber die Methode FolderExists der FileSystemObject-Klasse nutzen.

2. Welche Excel-Version wird benötigt? Die oben genannten VBA-Codes sind in Excel 2010 und späteren Versionen funktionsfähig.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige