Clever-Excel-Forum

Normale Version: Workbooks.Open msgbox wenn Datei nicht gefunden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
 
Ich öffne eine Datei und wenn diese vorhanden ist, alles super.
Workbooks.OpenText Filename:=vFile, Tab:=False, semicolon:=False, comma:=False, Space:=False, other:=True, OtherChar:="|"


Jetzt hätte ich gerne eine msgbox mit entsprechendem Text wenn die Datei nicht gefunden oder vorhanden ist.
Ist das der Fall, bekomme ich aktuell diese beiden Meldungsfenster von Excel.

Fenster1 : Leider konnte :\ Pfad nicht gefunden werden. Istv es möglich das der Pfad.... usw.
Kann ich dann mit OK bestätigen und dann kommt

Fenster2: Laufzeitfehler 1004.... usw.


 Wie kann ich diese abschalten und mir nur eine msgbox anzeigen lassen?

Finde da nicht wirklich was.
Hallo,

Code:
Sub Datei_einlesen()
  Dim wks As Worksheet
  Dim vFile As Variant
  Dim strFile As String
  Dim strPath As String
  strPath = "C:\TEMP\files\1\"
  strFile = "Name_der_Datei.txt"
  If Dir(strPath & strFile) = strFile Then
      Set wks = Worksheets("Workbook1")
      Application.ScreenUpdating = False
      Workbooks.OpenText Filename:=strPath & strFile, Tab:=False, semicolon:=False, comma:=False, Space:=False, other:=True, OtherChar:="|"
      ActiveSheet.UsedRange.Copy wks.Range("A2")
      ActiveWorkbook.Close savechanges:=False
      Range("A2").Select
    
      Worksheets("Workbook1").Activate
      Application.ScreenUpdating = True
  Else
    MsgBox "Die Datei " & vbNewLine & strPath & strFile & vbNewLine & "wurde nicht gefunden.", vbInformation, "Hinweis"
  End If
End Sub

Gruß Uwe
Hallo Uwe,

funktioniert tadellos, vielen Dank.

Könnte ich jetzt noch, wenn die Datei nicht gefunden wird in der msgbox entscheiden ob ich abbrechen will oder von Hand in dem Verz. eine Datei auswähle?

Vielen Dank
Dann reicht
Code:
Sub M_snb()
  With application.filedialog(3)
    .initialfilename = "G:\OF\beispiel.txt"
    if .show then workbooks.opentext .selecteditems(1)
  end with
End Sub
Hallo,

Code:
Sub Datei_einlesen()
  Dim wks As Worksheet
  Dim strFile As String
  Dim strPath As String
  strPath = "C:\TEMP\files\1\"
  strFile = "Name_der_Datei.txt"
  If Not Dir(strPath & strFile) = strFile Then
    If MsgBox("Die Datei " & vbNewLine & strPath & strFile & vbNewLine & "wurde nicht gefunden." & vbNewLine & vbNewLine & "Möchten Sie eine Datei auswählen", vbQuestion + vbYesNo, "Hinweis") = vbYes Then
      ChDrive strPath
      ChDir strPath
      strPath = ""
      strFile = Application.GetOpenFilename("Textdateien (*.txt), *.txt")
    Else
      strFile = False
    End If
  End If
  If Not CVar(strFile) = False Then
    Set wks = ActiveSheet
    Application.ScreenUpdating = False
    Workbooks.OpenText Filename:=strPath & strFile, Tab:=False, semicolon:=False, comma:=False, Space:=False, other:=True, OtherChar:="|"
    ActiveSheet.UsedRange.Copy wks.Range("A2")
    ActiveWorkbook.Close savechanges:=False
    Application.ScreenUpdating = True
  End If
End Sub

Gruß Uwe