Website-Icon eKiwi-Blog.de

VBA Dateiendung (File Extension) ermitteln

VBA - Visual Basic for Application

VBA, auch wenn es schon ein wenig eingestaubt klingt, weil es Visual Basic for Application  gefühlt schon seit Ewigkeiten gibt, erweist bei der Automatisierung im Microsoft Office-Bereich immer noch gute Dienste und ist weitestgehend, bis auf ein paar Ausnahmen, auf- und abwärtskompatibel.

Muss man in irgendeiner Form, in VBA Dateien und Dateipfade verarbeiten, weil man zum Beispiel über Outlook automatisiert Dateianhänge speichern möchte oder Dateien automatisiert drucken möchte, dann tritt schnell der Fall ein, dass man die Dateiendung, auf neudeutsch File Extension auslesen muss.

Meisten braucht man die Dateiendung, um dann in irgendeiner Form über If-Anweisungen oder Select-Case-Anweisung, den richtigen Dateityp für die Weiterverarbeitung auszuwählen.

VBA-Code Dateiendung auslesen

Der nachfolgende Code geht davon aus, dass der Dateiname oder komplette Dateipfad als String/Zeichenkette vorliegt:

Dim strFilePath As String
Dim strFileExtension As String
strFilePath = "C:\users\myname\myfolder\rechnung.pdf"
strFileExtension = Right(strFile, Len(strFilePath ) - InStrRev(strFilePath, "."))

Natürlich kann man hier auch mit Regex-Ausdrücken arbeiten. Aber für viele, die nicht täglich damit zu tun haben, ist die Einarbeitung und der Aufwand zu groß. Meisten braucht man eine schnelle Lösung.

Erläuterungen zum Code

Weiterverarbeitung der Dateiendung

Mit der Dateiendung alleine kann man meistens nur wenig anfangen. Deswegen seien hier noch zwei typische Weiterverarbeitungen erwähnt, um den richtigen Dateityp herauszufiltern.

If FileExtension = "pdf" Then
' Mache irgendwas mit der Datei strFilePath
End If

Oder als Select-Case Verarbeitung:

Select Case FileExtension
Case "pdf"
' Mache irgendwas mit der PDF-Datei
Case "xlsx"
' Mache irgendwas mit der Excel-Datei
Case "docx"
' Mache irgendwas mit der Word-Datei
End Select

Bestseller Nr. 1
Bestseller Nr. 2
Die mobile Version verlassen