Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Dateityp bzw. Dateiendung auslesen
#1
Hallo,

ich lese den Dateityp folgendermassen aus:

Sub Dateityp()
Dim str$
str = "Ein Buch.epub"
Debug.Print Right(str, InStr(StrReverse(str), ".") - 1)
str = "Ein zweites Buch.pdf"
Debug.Print Right(str, InStr(StrReverse(str), ".") - 1)
End Sub

Geht so etwas besser?
Antworten Top
#2
Moin,
kommt darauf an, wozu du so etwas brauchst. Wenn du "nur" eine Auflistung eines oder mehrerer Verzeichnisse und den entsprechenden Extensions haben willst, geht das sehr schön mit Power Query; Beispiel siehe http://www.excel-ist-sexy.de/power-query...ichnisses/ oder weitere Beiträge in dem Blog.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#3
Code:
Sub M_snb()
   msgbox createobject("scripting.filesystemobject").GetExtensionName("G:\OF\beispiel.docm")
End Sub

Code:
Sub M_snb()
   msgbox split("Ein Buch.epub",".")(1)
End Sub

Code:
Sub M_snb()
   MsgBox Mid("Ein Buch.epub", InStr("Ein Buch.epub", ".") + 1)
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
@Günther: Starke Webseite!
@snb: Gute Alternativen und Logik kann ich immer gebrauchen!
Danke.

Habe mein Problem jetzt so gelöst:

Code:
Sub Namen_Typen_Erweiterung()
  
   Dim strPath$
   Dim FSO As Scripting.FileSystemObject
   Set FSO = New FileSystemObject
   strPath = "C:\Test\"
  
   For Each File In FSO.GetFolder(strPath).Files
      Debug.Print FSO.GetExtensionName(strPath & File.Name)
   Next
  
End Sub

Doch jetzt stehe ich vor dem nächsten Problem.
Die Ergebnisse will ich in einer ComboBox speichern. Damit ist natürlich klar, dass jeder gefundene Dateityp nur einmal als Item dort eingetragen werden soll.
Wie würde eine möglichst elegante Lösung aussehen?
Antworten Top
#5
Bitte, verwende Code Tags !
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Hallöchen,

Du könntest die Treffer zuerst einmal in eine Collection einfügen. Die hat den Vorteil, dass sie Einträge mit Key nur einmal aufnimmt. Kommt der Key ein zweites mal, wird ein Fehler ausgelöst.

Alternativ könntest Du die Treffer direkt übergeben und müsstest zuerst prüfen, ob die schon drin sind.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste