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

Forumthread: Dateieigenschaften auslesen

Dateieigenschaften auslesen
18.05.2021 13:55:51
henry
Hallo zusammen,
Aufgabe: Dateieigenschaften auslesen, speziell die Länge eines Videos.
Problem: Wenn ich über die Routine: "For Each Filename ..." gehe, dann funktioniert das super.
Ich möchte aber nur aus einer einzelnen Datei auslesen.
Daher belege ich eine Variable (myFilename) mit einem Dateinamen, z.B. myFilename = "Urlaub2010.mp4".
Wenn ich aber diese Variable in unten stehender Routine verwende, dann funktioniert das nicht.
Dann erhalte ich nicht die Videolänge im Format hh:mm:ss sondern nur den Text: "Länge", nicht aber die gewünschte Filmlänge.
Es funktioniert nicht einmal, wenn ich meine Variable direkt belege mit: myFilename=Filename !
Wer kann mir helfen? Was mache ich falsch?

Sub filmlänge()
Dim objFolder As Object
Dim objShell As Object
myFilename = "Urlaub2010.mp4"                                              '
Gruß Henry
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateieigenschaften auslesen
18.05.2021 13:59:35
Jowe
vllt. so:
da fehlt vielleicht nur der Backslash!
myFilename = "\Urlaub2010.mp4"
Gruß
jochen
AW: Dateieigenschaften auslesen
18.05.2021 14:03:38
henry
Danke für den Tipp, aber das hatte ich auch schon probiert.
Gruß Henry
AW: Dateieigenschaften auslesen
18.05.2021 14:27:22
Jowe
und so?

Sub filmlänge()
Dim objFolder As Object
Dim objShell As Object
myFilename = "Urlaub2010.mp4"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(("C:\test\urlaub"))
Cells(3, 10) = objFolder.GetDetailsOF((myFilename), 27)
'oder so noch viele andere Details zeigen
' For i = 1 To 27
'  On Error Resume Next
'   Cells(i + 5, 10) = objFolder.GetDetailsOF((myFilename), i)
' Next
End Sub

Anzeige
AW: Dateieigenschaften auslesen
18.05.2021 14:54:55
peterk
Hallo

Sub filmlänge()
Dim objFolder As Object
Dim objShell As Object
Dim objItem As Object
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\test\urlaub\")
Set objItem = objFolder.ParseName("Urlaub2010.mp4")
Cells(3, 10) = objFolder.GetDetailsOF(objItem, 27)
End Sub
Gruß Peter
Anzeige
AW: Dateieigenschaften auslesen
19.05.2021 08:13:13
henry
Danke euch allen für die guten Tipps.
Letztlich führte die Version von peterk zum Ziel.
Gruß Henry
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dateieigenschaften auslesen in Excel


Schritt-für-Schritt-Anleitung

Um die Länge eines Videos in Excel auszulesen, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, spezifische Dateieigenschaften auszulesen, wie zum Beispiel die Videolänge.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub filmlänge()
    Dim objFolder As Object
    Dim objShell As Object
    Dim objItem As Object
    Dim myFilename As String

    myFilename = "Urlaub2010.mp4"  ' Ersetze dies durch deinen Dateinamen
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace("C:\test\urlaub\")  ' Pfad zu deinem Ordner
    Set objItem = objFolder.ParseName(myFilename)
    Cells(3, 10) = objFolder.GetDetailsOf(objItem, 27)  ' 27 steht für die Länge
End Sub
  1. Ändere den Pfad und den Dateinamen entsprechend deiner Datei.
  2. Schließe den VBA-Editor und führe das Makro aus, um die Videolänge in die Zelle J3 einzufügen.

Häufige Fehler und Lösungen

  • Problem: "Länge" wird angezeigt, anstatt der tatsächlichen Zeit.

    • Lösung: Stelle sicher, dass der Dateiname korrekt ist und der Pfad zum Ordner stimmt. Achte darauf, ob der Backslash (\) am Ende des Ordners vorhanden ist.
  • Problem: Objekt nicht gefunden.

    • Lösung: Überprüfe, ob die Datei an dem angegebenen Pfad existiert.

Alternative Methoden

Wenn du die Videolänge nicht mit VBA auslesen möchtest, kannst du auch Power Query verwenden, um Dateieigenschaften zu importieren.

  1. Gehe zu Daten > Daten abrufen > Aus Datei > Aus Ordner.
  2. Wähle den Ordner, in dem sich dein Video befindet.
  3. Wähle die Datei aus und lade die Daten in Excel.

Diese Methode ist besonders hilfreich, wenn du regelmäßig mehrere Dateien analysieren möchtest.


Praktische Beispiele

  1. Um die Länge mehrerer Videos in einem Ordner auszulesen, kannst du eine Schleife verwenden:
Sub alleFilmlängen()
    Dim objFolder As Object
    Dim objShell As Object
    Dim objItem As Object
    Dim myFolder As String
    Dim i As Integer

    myFolder = "C:\test\urlaub\"  ' Pfad zum Ordner
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(myFolder)

    For i = 0 To objFolder.Items.Count - 1
        Set objItem = objFolder.Items.Item(i)
        Cells(i + 3, 10) = objFolder.GetDetailsOf(objItem, 27)  ' Videolänge
    Next i
End Sub
  1. Diese Schleife wird die Länge aller Videos im angegebenen Ordner ab der Zelle J3 auflisten.

Tipps für Profis

  • Nutze die On Error Resume Next-Anweisung, um Fehler zu ignorieren, wenn eine Datei möglicherweise nicht geöffnet werden kann.
  • Experimentiere mit den verschiedenen Indexwerten in GetDetailsOf, um andere Dateieigenschaften auszulesen, wie z.B. die Bitrate oder das Erstellungsdatum.

FAQ: Häufige Fragen

1. Warum wird die Länge nicht korrekt angezeigt?
Es kann sein, dass das Format der Datei nicht unterstützt wird oder dass der Pfad zur Datei nicht korrekt ist. Überprüfe die Eingaben.

2. Muss ich eine bestimmte Excel-Version verwenden?
Der VBA-Code sollte in Excel 2010 und späteren Versionen funktionieren, solange die Shell-Anwendung verfügbar ist.

3. Wie kann ich die Dateieigenschaften für verschiedene Dateitypen abrufen?
Ändere einfach den Dateinamen und den Pfad im Code. Achte darauf, dass die Indexnummer in GetDetailsOf den jeweiligen Dateityp unterstützt.

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