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

Forumthread: Aufnahmedatum jpg

Aufnahmedatum jpg
04.08.2008 17:41:54
eddi
Hallo Spezialisten,
in einem Makro benutze ich:
Cells(iRow, iCol + 6).Value = FileDateTime(.FoundFiles(lCounter))
um Datum und die Zeit der letzten Änderung eines jpg auszulesen.
Ist es auch möglich die Aufnahmezeit (kann ich mir im Windowsexplorer anzeigen lassen) mit Excel auszulesen und wie geht das?
Danke für Eure Hilfe
Eddi

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aufnahmedatum jpg
04.08.2008 18:32:53
eddi
Hallo Udo,
super Link, aber um ihn in mein Mokro einzubeauen sehr aufwändig.
Gibt es nicht wie für "FileDateTime" eine Befehl für - erstellt am - ?
Danke und Grüße Eddi

Anzeige
AW: Aufnahmedatum jpg
04.08.2008 21:03:00
Ramses
Hallo
probier mal
MsgBox activeworkbook.BuiltinDocumentProperties("Creation Date")
Gruss Rainer

Vergiss diesen Beitrag...
04.08.2008 21:07:00
Ramses
Hallo
Ich habe nicht alles gelesen. Ich dachte es ging um Eigenschaften einer Mappe.
Mit diesem Code kannst du nicht die Daten von externen Dateien auslesen
Gruss Rainer

Anzeige
AW: Aufnahmedatum jpg
04.08.2008 21:12:31
Gerd
Hi,
"...Gibt es nicht wie für "FileDateTime" eine Befehl für - erstellt am - ?..."
Gibt es nicht, du kannst aber den Code von k.rola um einiges schlanker machen, wenn du nur das Datum brauchst.
mfg Gerd

AW: Aufnahmedatum jpg
05.08.2008 14:34:44
eddi
Hallo Gerd,
aber wie mache ich das? Meine Kenntnisse in VBA gehen leider noch nicht so weit.
Übrigens benötige ich nicht -erstellt am- sondern -aufgenommen am-.
Danke und Grüße Edgar

Anzeige
AW: Aufnahmedatum jpg
05.08.2008 17:31:35
eddi
...

AW: Aufnahmedatum jpg
05.08.2008 23:00:18
Knut
Hi,
du brauchst doch nur alle nicht gewünschten Informationen zu löschen,
wo also ist das problem?
mfg Knut

AW: Aufnahmedatum jpg
04.08.2008 23:13:00
Uduuh
Hallo,
erstell am würde dir nur wiedergeben, wann du das Bild auf die HD kopiert hast.
Gruß aus’m Pott
Udo

Anzeige
AW: Aufnahmedatum jpg
05.08.2008 14:32:00
eddi
Hallo Udo,
Du hast recht, ich brauche (ich Dussel) ja auch -aufgenommen am--
Eddi
;
Anzeige

Infobox / Tutorial

Aufnahmedatum von JPG-Dateien in Excel auslesen


Schritt-für-Schritt-Anleitung

Um das Aufnahmedatum von JPG-Dateien in Excel auszulesen, kannst Du den folgenden VBA-Code verwenden. Dieser Code greift auf die Metadaten der Bilddateien zu und gibt das Aufnahmedatum aus.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub GetPhotoDate()
       Dim filePath As String
       Dim img As Object
       Dim dateTaken As Date
    
       filePath = "Pfad\Zur\Deiner\Datei.jpg" ' Ersetze diesen Pfad durch den Pfad Deiner JPG-Datei
    
       Set img = CreateObject("WIA.ImageFile")
       img.LoadFile filePath
    
       dateTaken = img.Properties("DateTaken").Value
       MsgBox "Aufnahmedatum: " & dateTaken
    End Sub
  4. Ersetze Pfad\Zur\Deiner\Datei.jpg mit dem tatsächlichen Pfad zur JPG-Datei, von der Du das Aufnahmedatum auslesen möchtest.

  5. Führe das Makro aus, um das Aufnahmedatum in einer MsgBox anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Stelle sicher, dass der angegebene Dateipfad korrekt ist und die Datei existiert.
  • Fehler: "Eigenschaft nicht unterstützt"

    • Dieser Fehler kann auftreten, wenn die WIA-Bibliothek nicht richtig registriert ist. Stelle sicher, dass die Windows Imaging Acquisition (WIA) aktiviert ist.

Alternative Methoden

Eine weitere Möglichkeit, das Aufnahmedatum auszulesen, ist die Verwendung von PowerShell. Du kannst den folgenden Befehl in PowerShell ausführen:

Get-Item "Pfad\Zur\Deiner\Datei.jpg" | Select-Object -ExpandProperty CreationTime

Dies gibt das Erstellungsdatum der Datei zurück, aber nicht das Aufnahmedatum. Für spezifische EXIF-Daten benötigst Du ein zusätzliches Tool oder ein Skript.


Praktische Beispiele

Wenn Du mehrere JPG-Dateien hast und das Aufnahmedatum für alle auslesen möchtest, kannst Du den Code wie folgt anpassen:

Sub GetAllPhotoDates()
    Dim filePath As String
    Dim img As Object
    Dim dateTaken As Date
    Dim i As Integer

    For i = 1 To 10 ' Anzahl der Bilder anpassen
        filePath = "Pfad\Zu\Deinem\Ordner\Bild" & i & ".jpg" ' Beispiel für mehrere Bilder

        Set img = CreateObject("WIA.ImageFile")
        img.LoadFile filePath

        dateTaken = img.Properties("DateTaken").Value
        Cells(i, 1).Value = filePath
        Cells(i, 2).Value = dateTaken
    Next i
End Sub

Dieser Code speichert die Dateipfade und das Aufnahmedatum in den Zellen.


Tipps für Profis

  • Verwende Excel VBA FileDateTime: Dies hilft, das Änderungsdatum zu erfassen, aber notiere, dass es nicht das Aufnahmedatum ist.
  • Optimierung des Codes: Verwende With-Blöcke, um den Code übersichtlicher und effizienter zu gestalten.

FAQ: Häufige Fragen

1. Kann ich das Aufnahmedatum auch für andere Dateiformate auslesen? Ja, die Methode kann auch für andere Bildformate funktionieren, solange die Metadaten vorhanden sind.

2. Welche Excel-Version benötige ich für diesen Code? Der Code sollte in Excel-Versionen ab 2010 funktionieren, die die VBA-Integration unterstützen.

3. Was, wenn der VBA-Code nicht funktioniert? Überprüfe, ob die WIA-Bibliothek aktiviert ist und dass Du die richtigen Berechtigungen für den Zugriff auf die Dateien hast.

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