Condividi:        

Copiando foto da Cell a PC viene modificata data ultima modi

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Copiando foto da Cell a PC viene modificata data ultima modi

Postdi ricky53 » 15/10/26 01:12

Ciao a tutti,
sto elaborando le foto che avevo un vecchio cellulare di cui avevo fatto la copia tempo fa sul mio PC.

Volevo leggere i dati EXIF ed ho preso un programma abbastanza complesso che ho realizzato tempo fa grazie ad Anthony (con l'occasione lo saluto).

Tutto è andato bene. Scorrendo i risultati ho notato che alcuni file avevano la data e ora di "Ultima Modifica" diversa da quella presente nel nome del file. La cosa mi è sembrata strana.

Controlla e ricontrolla ho verificato che a seconda del codice che utilizzavo alcuni file avevano date diverse.
Il riscontro l'ho fatto anche selezionando il file con "Esplora File" ciò che vedevo in "Dettagli non era uguale al nome del file


Copio le righe significative del codice che utilizzo (su Excel 2019 in VBA):

Codice: Seleziona tutto
 
' Valori ottenuti con:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.getfolder(CARTELLA)
Set Sf = F.SubFolders
Set mFile = F.Files
For Each Pf1 In mFile
    Cells(Rig, Col + 7) = Pf1.DateLastModified 'data ultima modifica al file
    Rig = Rig + 1
next
' Data e ora ultima modifica   15/09/2016 – 00:31:44 ===> Valori ERRATI



' Valore ottenuto con:
Set Imgfile = CreateObject("WIA.ImageFile")
Imgfile.LoadFile (Cells(I, "A") & "\" & Cells(I, "B"))
Cells(I, 3).Value = Replace(Left(Imgfile.Properties("DateTime"), 10), ":", "-")

' Data e Ora Scatto   14/09/2016 – 18:12:28 ===> Valori Corretti a parte un secondo di ferrenza


Questo è il nome del file: Nome File: IMG_20160914_181227.jpg

https://drive.google.com/file/d/1WwVrdvR8kKTfPT7aNIvyJVmqdnLhBgoD/view?usp=drive_link


Vorrei capire il perché di queste differenze.
Grazie a tutti
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4592
Iscritto il: 11/04/09 19:29
Località: Italia

Sponsor
 

Re: Copiando foto da Cell a PC viene modificata data ultima

Postdi Dylan666 » 15/10/26 12:08

Ma il nome del file riporta la data di creazione, non di modifica.
Nel tuo caso è stato creato il giorno 14 e modificato il giorno 15 (settembre 2016).

La data di creazione (essendo una foto) corrisponde anche alla "Data acquisizione" degli attributi EXIF
Avatar utente
Dylan666
Moderatore
 
Post: 40412
Iscritto il: 18/11/03 16:46

Re: Copiando foto da Cell a PC viene modificata data ultima

Postdi Dylan666 » 15/10/26 12:56

Aggiungo un esempio di codice che magari ti aiuta (AI generated):

Codice: Seleziona tutto
Sub EstraiDataAcquisizioneWIA()
    Dim Imgfile As Object
    Dim filePath As String
    Dim Rig As Long, Col As Long
    Dim prop As Object
    Dim dataTrovata As String
    Dim i As Long
   
    Rig = 1
    Col = 1
   
    ' Esempio su una specifica riga di Excel (Colonne A = Percorso, B = Nome File)
    ' Supponendo che in Cells(I, "A") ci sia il percorso e in Cells(I, "B") il file
    Dim UltimaRiga As Long
    UltimaRiga = Cells(Rows.Count, "A").End(xlUp).Row
   
    For i = 1 To UltimaRiga
        filePath = Cells(i, "A").Value & IIf(Right(Cells(i, "A").Value, 1) = "\", "", "\") & Cells(i, "B").Value
       
        On Error Resume Next
        Set Imgfile = CreateObject("WIA.ImageFile")
        Imgfile.LoadFile filePath
       
        If Err.Number = 0 Then
            dataTrovata = ""
            ' Scorre le proprietà dell'immagine alla ricerca della data di scatto
            For Each prop In Imgfile.Properties
                ' 36867 corrisponde solitamente a DateTimeOriginal nei tag EXIF
                If prop.PropertyID = 36867 Or prop.Name = "DateTime" Then
                    dataTrovata = prop.Value
                    Exit For
                End If
            Next prop
           
            If dataTrovata <> "" Then
                ' Formato EXIF standard: "YYYY:MM:DD HH:MM:SS" -> lo normalizziamo
                dataTrovata = Replace(Left(dataTrovata, 10), ":", "-") & Mid(dataTrovata, 11)
                Cells(i, Col + 2).Value = dataTrovata
            Else
                Cells(i, Col + 2).Value = "EXIF non disponibile"
            End If
        Else
            Cells(i, Col + 2).Value = "Errore lettura file"
        End If
        On Error GoTo 0
    Next i
   
    MsgBox "Elaborazione WIA terminata!", vbInformation
End Sub
Avatar utente
Dylan666
Moderatore
 
Post: 40412
Iscritto il: 18/11/03 16:46

Re: Copiando foto da Cell a PC viene modificata data ultima

Postdi Anthony47 » 15/10/26 18:48

Ciao Ricky, ciao Dylan.
Il codice pubblicato da Dylan potrebbe alimentare un equivoco nella riga
Codice: Seleziona tutto
If prop.PropertyID = 36867 Or prop.Name = "DateTime" Then

Questa infatti restituisce o la data di scatto dell'immagine oppure la data di modifica, la prima che il loop For Each prop In Imgfile.Properties /Next prop trova

Per estrarre separatamente questi due parametri bisognerebbe usare:
-per la data di scatto, Name = "DateTimeOriginal" oppure prop.PropertyID = 36867
-per la data di modifica dell'immagine, prop.Name = "DateTime" or prop.Name = "ModifyDate" oppure prop.PropertyID = 306

Almeno questo dice Gemini :D
Avatar utente
Anthony47
Moderatore
 
Post: 19719
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Copiando foto da Cell a PC viene modificata data ultima modi":

gestione foto
Autore: themisterx
Forum: Discussioni
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti