wie kann ich per VBA vor oder nach dem Öffnen einer Datei den Dateityp auslesen (Text- Csv- xls-Dateien)?
Gruß Ulrich
Sub OpenCSV_Or_XLS()
Dim myCSV As String
myCSV = "C:\Demo.xls"
Application.Workbooks.Open myCSV, local:=True
If InStr(1, Cells(1, 1), ";") > 0 Then
Columns("A:A").TextToColumns Destination:=Range("A1"), Semicolon:=True
End If
End Sub
Um den Dateityp einer Datei in Excel per VBA auszulesen, kannst Du den folgenden Code verwenden. Dieser Code öffnet eine Datei und überprüft, ob das erste Feld ein Semikolon als Trennzeichen enthält, was darauf hinweist, dass es sich um eine CSV-Datei handelt.
Sub OpenCSV_Or_XLS()
Dim myCSV As String
myCSV = "C:\Demo.xls" ' Pfad zur Datei anpassen
Application.Workbooks.Open myCSV, local:=True
If InStr(1, Cells(1, 1), ";") > 0 Then
Columns("A:A").TextToColumns Destination:=Range("A1"), Semicolon:=True
Else
MsgBox "Es handelt sich um eine echte Excel-Datei."
End If
End Sub
Dieser Code erfordert Excel 2007 oder höher, um die Funktionen korrekt nutzen zu können.
Fehler: Datei wird nicht gefunden
Fehler: Unerwarteter Dateityp
local:=True
beim Öffnen der Datei, um lokale Einstellungen zu berücksichtigen.Eine alternative Methode, um den Dateityp auszulesen, ist die Verwendung von Excel-Funktionen anstelle von VBA. Du kannst die Funktion TEXT()
in einer Zelle verwenden, um den Inhalt zu analysieren, wenn die Datei bereits geöffnet ist.
=IF(ISNUMBER(SEARCH(";", A1)), "CSV", "Excel-Datei")
Diese Funktion prüft, ob das erste Feld ein Semikolon enthält und gibt entsprechend den Dateityp zurück.
Wenn Du eine Datei aus einem SAP-System exportierst, kann diese als .xls
gespeichert, aber im CSV-Format sein. Hier ist ein Beispiel, wie Du dies in der Praxis umsetzen kannst:
Verwende Fehlerbehandlung: Integriere Fehlerbehandlungsroutinen in Deinen VBA-Code, um unerwartete Probleme zu vermeiden, z. B. durch Verwendung von On Error Resume Next
.
Testen mit verschiedenen Formaten: Teste Deinen Code mit verschiedenen Dateiformaten, um sicherzustellen, dass er robust genug ist, um alle Szenarien abzudecken.
1. Wie kann ich den Dateityp einer Datei vor dem Öffnen erkennen?
Du kannst die Dateierweiterung in VBA überprüfen, bevor Du die Datei öffnest, indem Du Right()
und InStrRev()
verwendest.
2. Welche Trennzeichen sollte ich verwenden?
In Europa wird häufig das Semikolon als Trennzeichen verwendet, während in den USA das Komma üblich ist. Achte darauf, den Code entsprechend anzupassen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen