Exif-Daten auslesen in Excel mit VBA
Schritt-für-Schritt-Anleitung
Um Exif-Daten aus Bildern in Excel auszulesen, kannst Du das folgende VBA-Skript verwenden. Dieses Skript ermöglicht es Dir, verschiedene Informationen wie die Datei-Größe und das Erstellungsdatum aus den Bildern zu extrahieren.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Gehe zu
Einfügen > Modul
, um ein neues Modul zu erstellen.
- Kopiere und füge den folgenden Code ein:
Sub dateien_auflisten()
Dim objShell As Object, objFolder As Object
Dim BrowseDir As Object, varName As Variant
Dim i As Long
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 k
Set objFolder = Nothing
Application.ScreenUpdating = True
Columns.AutoFit
End If
Set objShell = Nothing
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe das Makro aus, um die Bildinformationen auszulesen.
Häufige Fehler und Lösungen
-
Fehler: "Objekt nicht gefunden"
Lösung: Stelle sicher, dass Du den richtigen Pfad zum Bild angegeben hast. Überprüfe den Dateinamen und die Erweiterung.
-
Problem mit der Anzeige der Exif-Daten
Lösung: Die Exif-Daten sind oft nicht direkt sichtbar. Du kannst den Index von 0 bis 300 durchlaufen, um die verschiedenen Informationen zu finden.
-
Keine Berechtigungen zum Zugriff auf den Ordner
Lösung: Stelle sicher, dass Du die notwendigen Berechtigungen für den entsprechenden Ordner hast.
Alternative Methoden
Wenn Du keinen VBA-Code verwenden möchtest, gibt es auch einige Software-Tools, die helfen können, Exif-Daten auszulesen:
- ExifTool: Ein mächtiges Tool, das eine Vielzahl von Exif-Daten auslesen und exportieren kann.
- Online-Dienste: Es gibt zahlreiche Websites, die es ermöglichen, JPG-Metadaten auszulesen und die Informationen anzuzeigen.
Praktische Beispiele
Hier ein Beispiel, wie Du Exif-Daten für eine bestimmte Datei auslesen kannst:
Sub Beispiel()
Dim strFile As String, i As Integer, sInhalt As String
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, "\")))
For i = 0 To 300
sInhalt = Trim$(objFolder.GetDetailsOf(objFile, i))
If sInhalt <> "" Then
Debug.Print sInhalt, i
End If
Next i
End Sub
Tipps für Profis
- Nutze Debug.Print, um die Exif-Daten im Direktfenster des VBA-Editors anzuzeigen und die Indizes der gewünschten Informationen herauszufinden.
- Experimentiere mit der ObjShell.BrowseForFolder-Methode, um benutzerfreundliche Dialoge zur Auswahl von Verzeichnissen zu erstellen.
- Halte Deine VBA-Skripte sauber und gut dokumentiert, um die Wartbarkeit zu erhöhen.
FAQ: Häufige Fragen
1. Wie kann ich die Bezeichnungen der Exif-Daten ermitteln?
Die Bezeichnungen kannst Du mit objFolder.GetDetailsOf(Name, i)
ermitteln, wobei i
der Index der gewünschten Information ist.
2. Wo finde ich eine Liste der Exif-Daten Indizes?
Eine vollständige Liste ist oft in der Dokumentation der verwendeten Software oder auf Websites zu finden, die sich mit Exif-Daten befassen, wie z.B. whatis.org.
3. Kann ich Exif-Daten für mehrere Bilder gleichzeitig auslesen?
Ja, Du kannst das Skript so anpassen, dass es durch alle Dateien in einem Verzeichnis iteriert, um die Exif-Daten aus mehreren Bildern auszulesen.