Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1192to1196
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Exif auslesen - bzw. Daten aus der Datei

Exif auslesen - bzw. Daten aus der Datei
KLE
Hallo,
ich möchte gern mein riesiges (ca. 250.000 Fotos) Fotoarchiv neu Strukturieren. Daher habe ich jetzt mir gedacht, ich nutze einfach einige Infos aus den Dateien und erstelle mir daraus eine neue Struktur-Ordnung für die Archivierung.
Dazu habe ich mir ein kleines Tool gebastelt (z.T. auf Elemente von Hajo & Co.), welches mir Verzeichnisse einliest mit folgenden Daten:
- Verzeichnis-Pfad
- Datei-Größe in KB
- Datei-Datum (Erstellung)
- Datei-Typ
Im Explorer kann ich mir noch andere Infos ziehen - wie z.B. die Auflösung, die Pixelzahl, das Ursprungsdatum etc. und aus der EXIF-Datei-Information noch einige viele (für mich interessante und wichtige Infos)...
Doch ich bin nach ca. 6h Google-Suche nicht wirklich fündig geworden, wie ich aus Excel heraus auf die EXIF-Daten zugreifen kann. Habe einige VB-Scripts gefunden - aber dafür reichen meine Kenntnisse einfach nicht aus, daraud VBA zu machen...
Kann mir hier jemand helfen ?! Was benötige ich dazu, um an die EXIF-Daten zu kommen ? Wo kann ich nähere Hilfen oder Codes finden, um mit Excel-VBA diese Daten zurückzugreifen...
Ich bin zwar inzwischen selbstbewusster mit VBA unterwegs und probiere viel - wenn auch noch bei weitem nicht so professionell wie ihr - funktionieren am Ende die gebastelten Werke von mir - dank Eurer Hilfe - meist ziemlich gut. Daher brauche ich wirklich Hilfe - was ich wie machen müsste, da ich bezüglich auf den Zugriff von Datei-Informationen außerhalb der "Klassischen" Datei-Infos noch nie was gemacht habe...
Gruß und einen wundervollen 4. Advent wünsche ich EUCH LIEBEN ALLEN !;o)
Kay
AW: Exif auslesen - bzw. Daten aus der Datei
19.12.2010 12:48:00
Anton
Hallo Kay,
probier sowas(bei 250000 Dateien wird es dauern...):
Code:

Dim i As Long  
Sub dateien_auflisten()
  Dim objShell, objFolder
  Dim BrowseDir, varName
  Set objShell = CreateObject("Shell.Application")  
  Set BrowseDir = objShell.BrowseForFolder(0, "Ordner auswählen", &H1000, 17)  
  If Not BrowseDir Is Nothing Then    
    Application.ScreenUpdating = False
    Cells.Clear
    i = 0
    Set objFolder = objShell.Namespace(BrowseDir.items().Item().Path)
    i = i + 1
    Cells(i, 1) = "Pfad"
    For k = 1 To 50  
      Cells(i, k + 1) = objFolder.GetDetailsOf(, k)
    Next
    Set objFolder = Nothing  
    If MsgBox("Unterordner duchsuchen?", vbYesNo, "Abfrage") = vbYes Then  
      rekursiv BrowseDir.items().Item().Path, True
    Else
      rekursiv BrowseDir.items().Item().Path, False
    End If  
    Application.ScreenUpdating = True
    Columns.AutoFit
  End If  
  Set objShell = Nothing  
  Rows("1:1").Font.Bold = True
  Range("B2").Select  
  ActiveWindow.FreezePanes = True
  Application.StatusBar = False
End Sub  
Function rekursiv(ordner, unterordner As Boolean)  
  Set objShell = CreateObject("Shell.Application")  
  Set objFolder = objShell.Namespace(ordner)
  For Each varName In objFolder.items  
    If varName.Type = "Dateiordner" And unterordner = True Then    
      rekursiv varName.Path, True
    ElseIf varName.Type <> "Dateiordner" Then    
      i = i + 1
      Cells(i, 1) = varName.Path
      Application.StatusBar = varName.Path
      For k = 1 To 50  
        Cells(i, k + 1) = objFolder.GetDetailsOf(varName, k)
      Next
    End If  
  Next
  Set objFolder = Nothing  
End Function  


mfg Anton
Anzeige
Schon weiter, nur Exif auslesen noch offen.
19.12.2010 16:53:27
KLE
Hallo und vielen Dank für Eure antworten. Nun, ich werde es mit Deinem Code probieren - nur etwas umschreiben, da ich nicht alle Felder benötige (spart vielleicht ein kleinwenig Zeit ;o)!). Der Link zu dem Tool ist auch interessant - auch diesen werde ich mir näher anschauen - Datei bereits runtergeladen. Nur mit dem EXIF-Auslesen - da habt ihr auch keinen Ansatz für mich, oder ?!? Gruß Kay PS: Leider hat meine Tastatur grad ein Schaden, kann kein Enter etc. mehr drücken - wollte aber noch schnell antworten ;o)
Anzeige
AW: Schon weiter, nur Exif auslesen noch offen.
19.12.2010 18:31:17
Tino
Hallo,
kannst mal so versuchen.
Beispiel:
Sub Beispiel()
Dim strFile$, i%, sInhalt$
Dim objShell As Object, objFolder As Object, objFile As Object
strFile = "E:\Bilder\DSC03697_.jpg" 'Pfad zum Bild
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(Left$(strFile, InStrRev(strFile, "\")))
Set objFile = objFolder.ParseName(Right$(strFile, Len(strFile) - InStrRev(strFile, "\")))
'On Error Resume Next
For i = 0 To 300
sInhalt = Trim$(objFolder.GetDetailsOf(objFile, i))
If sInhalt  "" Then
Debug.Print sInhalt, i
End If
Next i
End Sub
Die entsprechende Infos musst Du Dir ermitteln und den entsprechenden Index abfragen.
Gruß Tino
Anzeige
AW: Schon weiter, nur Exif auslesen noch offen.
20.12.2010 02:14:07
KLE
Super, Danke Tino !
...damit kann ich schon einige Infos mehr analysieren, was mir für meine Archivierungsdatenbank enorm hilft.
Nur eine Frage habe ich noch...kann man und wenn ja mit welchem Befehl - die Bezeichnung der einzelnen Nummern ermitteln, bzw. ausgeben ?
D.h. z.B. neben der Zahl 236 = Brennweite ?! usw. ?!?
Gruß
Kay
AW: Schon weiter, nur Exif auslesen noch offen.
20.12.2010 03:09:40
KLE
Sorry, habe es grad mit einwenig probieren selbst rausbekommen ;o)
objFolder.GetDetailsOf(Name, i)
Gruß und Danke!
Kay
AW: Schon weiter, nur Exif auslesen noch offen.
19.12.2010 18:39:20
Reinhard
Hallo Kle,
lt. Wiki ist Exif bei jpgs von Digitalkameras drin und das sind Daten die im Header der jpg stehen.
Wenn die der dir gezeigte Code nicht auslesen kann muß man halt die Datei anders auslesen.
Dazu muß man nur das jpg-Dateiformat mit enthaltenen Exif Daten kennen.
Es gibt eine Webseite, die heißt whatis.org watis.org oder so ähnlich, da findet man Dateiformate für viele Dateiendungen.
Mit diesem Wissen knn es klappen, dann Code dafür zu erstellen.
Du sprachst von VB-Code. Zeige den mal.
Vielleicht hilft dir dieses Link auch etwas:
http://www.foto-freeware.de/exifer.php
So wie ich das flüchtig gelesen habe müßte er die Exifsdaten auslesen können und kann auch Batchverabeitung, was für mich heißt er kann auch mehrere Dateien nacheinander auslesen.
Wenn er dann diese Daten exportieren kann, ich nehme als Textdateie(en), kann man mit Excel sehr leicht diese txt-Dateien auslesen.
Gruß
Reinhard
Anzeige
AW: Schon weiter, nur Exif auslesen noch offen.
20.12.2010 02:16:47
KLE
Vielen Dank Reinhard,
...ich werde Dir/Euch meine Datei, wenn ich Sie fertig habe incl. der Codes hier einstellen. Damit alle was von haben. Werde mich mit der Info von Tino und von den Seiten, die Du mir grad als Anregung vermittelt hast was basteln können... Danke bereits an dieser Stelle für Eure Zeit und Anregungen !!!
Gruß
Kay

193 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige