Thema Datum  Von Nutzer Rating
Antwort
10.11.2023 18:35:31 Duke
NotSolved
10.11.2023 18:56:41 volti
NotSolved
11.11.2023 12:10:56 Duke
NotSolved
11.11.2023 12:39:07 Gast10930
NotSolved
Rot Metadaten aus Videodateien in Excel VBA auslesen
11.11.2023 12:54:24 volti
NotSolved

Ansicht des Beitrags:
Von:
volti
Datum:
11.11.2023 12:54:24
Views:
205
Rating: Antwort:
  Ja
Thema:
Metadaten aus Videodateien in Excel VBA auslesen

Hallo Duke,

das Auslesen von Meta-Daten direkt aus dem Windows-Explorer ist mir noch nciht gelungen. Heißt nicht, dass es nicht ginge, ggf. mit passender API-Funktion, aber ich weiß es nicht und finde auch nichts im Netz....

Die normalen Eigenschaften wie Dateigröße, Erstelldatum usw. können ja z.B. via CreateObject("Scripting.FileSystemObject") ermittelt werden.

Das hast Du ja sicher auch schon gemacht. 

Weitere Eigenschaften müssen über die EXIF-Daten ermittelt werden. Hier ein Ausschnitt aus dem vorgeschlagenem Tool, der genau das macht.

Muss bzw. könnte man halt noch ein wenig umbauen. Dafür fehlt mir derzeit Zeit, Muße und vor allem eine Beispieldatei.

Die einzelnen Eigenschaften werden über die Nummer 1 bis X usw. ermittelt und sind je Dateityp unterschiedlich. Höhe und Breite haben bei Video (MP4)-Dateien die Nummern 314 und 316 (s.Code) 

Die Variablen der Funktion sind auf Modulebene dimensioniert und können deshalb in anderen Subs in diesem Modul verwendet werden, z.B in Zelle schreiben.

Probiere es halt mal aus. Vielleicht hat ja noch jemand eine einfachere, andere Lösung. Ich glaube aber nicht daran.

PS: Ob AVI hiermit funtkioniert, weiß ich nicht. Habe zur Zeit keine hier.

Code:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
Private Function GetFileDetails(sPath As String, sFile As String) As String
' Funktion ermittelt einige Datei-Parameter und bereinigt sie um unnötige Zeichen
  Dim oFile As Object, i As Integer

  With CreateObject("Shell.Application").Namespace(CVar(sPath))
      Set oFile = .ParseName(sFile)
' 32 Firma, 30=Kamera-Typ, 31=Auflösung, 12 Aufnahmedatum
' 11 Video/Musik, 16 Intepret, 27 Länge, 165/194 Titel, 169 Datei-Typ
      msFirma = .getdetailsof(oFile, 32)                                 ' Hersteller
      msKamera = .getdetailsof(oFile, 30)                              ' Kameratyp
      msTyp = .getdetailsof(oFile, 11)                                    ' Typ: Video, Musik, Foto
      msTitel = .getdetailsof(oFile, 21)                                   ' Titel des Songs
      msZeit = .getdetailsof(oFile, 27)                                    ' Länge des Songs
      msDatTyp = .getdetailsof(oFile, 194)                             ' Länge des Songs
      If msKamera <> "" Then
'         If Not msKamera Like Split(msFirma)(0) & "*" Then _
'         msKamera = msFirma & " " & msKamera
'      End If
      msPixel = .getdetailsof(oFile, 31)                                 ' Auflösung
      msHochBreit = .getdetailsof(oFile, 316) & " x " & .getdetailsof(oFile, 314)
      msDatenrate = .getdetailsof(oFile, 313) & ",   " & .getdetailsof(oFile, 315)
      msBitrate = .getdetailsof(oFile, 28)
      If Len(msPixel) > 2 Then msPixel = Mid$(msPixel, 2, Len(msPixel) - 2)
      GetFileDetails = .getdetailsof(oFile, 12)                          ' Aufnahmedatum zurückgeben
      msAufnahmedatum = ""
      For i = 2 To Len(GetFileDetails)
          If Mid$(GetFileDetails, i, 1) <> Chr$(0) Then _
          msAufnahmedatum = msAufnahmedatum & Mid$(GetFileDetails, i, 1)
      Next i

  End With
End Function

Sub Test()
  GetFileDetails "D:\Pictures\Videos\2019\", "GR_Poento_Bieber-20190830 (5).mp4"
  Debug.Print msHochBreit
End Sub
     
 
_________
viele Grüße
Karl-Heinz

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
10.11.2023 18:35:31 Duke
NotSolved
10.11.2023 18:56:41 volti
NotSolved
11.11.2023 12:10:56 Duke
NotSolved
11.11.2023 12:39:07 Gast10930
NotSolved
Rot Metadaten aus Videodateien in Excel VBA auslesen
11.11.2023 12:54:24 volti
NotSolved