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

Forumthread: Fehlermeldung wenn Datei nicht gefunden wird

Fehlermeldung wenn Datei nicht gefunden wird
27.05.2014 13:40:30
Stefan
Hallo,
ich habe ein kleine Frage an Euch, die Ihr mich sicherlich beantworten könnt:
Ich habe eine Userform mit ca. 20 Buttons mit denen ich verschiedene PDF-Dateien
öffnen will.
Hier eine kurze Form des Codes:
'-------------------------------------------
Public Datei As String
Private Sub bt1_Click()
Datei = "K:\Auswertungen\Umsatz.pdf"
ActiveWorkbook.FollowHyperlink Datei
End Sub

Private Sub bt2_Click()
Datei = "K:\Auswertungen\Absatz.pdf"
ActiveWorkbook.FollowHyperlink Datei
End Sub
'---------------------------------------------
Gibt es eigentlich eine Möglichkeit eine Fehlerabfrage einzubauen?
D.h. Wenn die Datei bspweise nicht vorhanden ist, soll einfach
eine Msgbox ausgegeben werden und der Fokus wieder auf die Userform
gesetzt werden.
Vielen Dank für Eure Hilfe!
Gruß Stefan

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: nutze DIR()
27.05.2014 13:46:54
Daniel
Hi
mit der DIR-funktion kannst du püfen, ob eine Datei vorhanden ist oder nicht.
Existiert die Datei, ist das Ergbnis der Dateiname, falls nicht, der Leerstring.

Datei = "K:\Auswertungen\Absatz.pdf"
If Dir(Datei) = "" Then
Msgbox "Datei nicht vorhanden"
Else
ActiveWorkbook.FollowHyperlink Datei
End If

Gruß Daniel

Anzeige
AW: Fehlermeldung wenn Datei nicht gefunden wird
27.05.2014 13:48:05
UweD
Hallo
so z.B.
Private Sub bt1_Click()
Dim Datei$, Da
Datei = "C:\Temp\Test.pdf"
Da = Dir(Datei)
If Da = "" Then MsgBox "Nicht gefunden"
ActiveWorkbook.FollowHyperlink Datei
End Sub

Gruß UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Fehlermeldung bei nicht vorhandenen Dateien in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Deiner Userform eine Fehlermeldung auszugeben, wenn eine Datei nicht gefunden wird, kannst Du die Dir-Funktion in VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, wie Du das umsetzen kannst:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein Modul oder eine Userform hinzu: Wenn Du bereits eine Userform hast, wähle diese aus.

  3. Erstelle die Schaltflächen: Füge Schaltflächen hinzu, die beim Klicken die PDF-Dateien öffnen sollen.

  4. Implementiere den Code: Verwende den folgenden VBA-Code, um die Datei zu prüfen und gegebenenfalls eine Fehlermeldung anzuzeigen:

    Private Sub bt1_Click()
       Dim Datei As String
       Datei = "K:\Auswertungen\Umsatz.pdf"
       If Dir(Datei) = "" Then
           MsgBox "Datei nicht gefunden"
       Else
           ActiveWorkbook.FollowHyperlink Datei
       End If
    End Sub
  5. Testen: Führe die Userform aus und klicke auf die Schaltfläche, um zu sehen, ob die Fehlermeldung korrekt angezeigt wird.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die auftreten können, wenn Du mit der Dir-Funktion arbeitest, und wie Du diese lösen kannst:

  • Fehlermeldung "Datei nicht gefunden" wird nicht angezeigt: Stelle sicher, dass der Pfad zur Datei korrekt ist. Überprüfe, ob die Datei tatsächlich an dem angegebenen Ort existiert.

  • Falsche Dateipfade: Achte darauf, dass Du den vollständigen Pfad zur Datei angibst. Relative Pfade können dazu führen, dass die Datei nicht gefunden wird.

  • Zugriffsprobleme: Es kann sein, dass Du nicht die erforderlichen Berechtigungen hast, um auf den Ordner zuzugreifen, in dem sich die Datei befindet.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, um zu überprüfen, ob eine Datei vorhanden ist. Hier sind zwei alternative Methoden:

  1. FileExists-Funktion: Du kannst auch die FileExists-Funktion verwenden, die in einigen älteren Versionen von Excel in VBA zur Verfügung steht. Diese Funktion funktioniert ähnlich wie Dir.

    If FileExists(Datei) Then
       ActiveWorkbook.FollowHyperlink Datei
    Else
       MsgBox "Datei nicht gefunden"
    End If
  2. Fehlerbehandlung: Eine andere Methode ist die Verwendung von Fehlerbehandlungsroutinen in VBA, um Fehler abzufangen, die auftreten, wenn eine Datei nicht gefunden wird.

    On Error Resume Next
    ActiveWorkbook.FollowHyperlink Datei
    If Err.Number <> 0 Then
       MsgBox "Datei nicht gefunden"
    End If
    On Error GoTo 0

Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung der Dir-Funktion in verschiedenen Situationen:

  • Öffnen von mehreren Dateien: Wenn Du mehrere Schaltflächen hast und jede eine andere Datei öffnet, kannst Du die Überprüfung in jeder Schaltfläche implementieren.

    Private Sub bt2_Click()
       Dim Datei As String
       Datei = "K:\Auswertungen\Absatz.pdf"
       If Dir(Datei) = "" Then
           MsgBox "Datei nicht gefunden"
       Else
           ActiveWorkbook.FollowHyperlink Datei
       End If
    End Sub
  • Benutzerdefinierte Pfade: Erlaube den Benutzern, den Pfad zu ändern, und prüfe dann, ob die angegebene Datei vorhanden ist.


Tipps für Profis

  • Variablen verwenden: Lagere den Dateipfad in einer Variablen, um den Code übersichtlicher zu gestalten.
  • Fehlermeldungen anpassen: Du kannst die Fehlermeldungen anpassen, um spezifischere Informationen zu geben, z.B. den vollständigen Pfad zur Datei.
  • Logging: Implementiere ein einfaches Logging, um festzuhalten, welche Dateien nicht gefunden werden, was bei der Fehlersuche hilfreich sein kann.

FAQ: Häufige Fragen

1. Frage Wie kann ich den Pfad zu einer Datei dynamisch ändern?

Antwort: Du kannst ein Textfeld in Deiner Userform hinzufügen, in das die Benutzer den Pfad eingeben können. Verwende dann diesen Pfad in Deiner Dir-Überprüfung.

2. Frage Was passiert, wenn ich die Dir-Funktion mehrmals aufrufe?

Antwort: Die Dir-Funktion gibt beim ersten Aufruf den Dateinamen zurück. Bei nachfolgenden Aufrufen ohne neuen Pfad gibt sie den nächsten Dateinamen zurück oder einen Leerstring, wenn keine weiteren Dateien vorhanden sind. Achte darauf, den Pfad zwischen den Aufrufen zu ändern, um die gewünschten Ergebnisse zu erzielen.

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