[Résolu][Calc] Accéder à une métadonnée de fichier jpg
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 24 déc. 2024 11:07
[Résolu][Calc] Accéder à une métadonnée de fichier jpg
Bonjour,
je suis dans un tableur dont une cellule spécifie un nom de fichier image au format jpg, donc qqchose comme "image.jpg". Je dois récupérer dans une macro une métadonnée de ce fichier image, plus précisément sa date de création. Malgré plusieurs heures passées sur les forums et la documentation, je ne sais pas comment m'y prendre. Si quelqu'un a une piste permettant à ma macro de récupérer cette information, ce serait super.
Merci par avance pour tout aide me permettant de progresser.
je suis dans un tableur dont une cellule spécifie un nom de fichier image au format jpg, donc qqchose comme "image.jpg". Je dois récupérer dans une macro une métadonnée de ce fichier image, plus précisément sa date de création. Malgré plusieurs heures passées sur les forums et la documentation, je ne sais pas comment m'y prendre. Si quelqu'un a une piste permettant à ma macro de récupérer cette information, ce serait super.
Merci par avance pour tout aide me permettant de progresser.
Dernière modification par Oukcha le 24 janv. 2025 21:44, modifié 2 fois.
Raison : Balisage dans premier message
Raison : Balisage dans premier message
LibreOffice version 24.8.4.2 (x86_64), sur Windows 11 Famille, version 23H2
-
- RespOOnsable forum
- Messages : 9811
- Inscription : 28 août 2010 08:45
Re: [calc] Macro accédant à une métadonnée de fichier jpg
Bonjour,
Veuillez corriger le titre de votre sujet [calc] Macro accédant à une métadonnée de fichier jpg
Si c'est une obligation ou un choix mentionnez-le par Obligation de version ou Choix dans votre signature afin de ne pas être relancé.
Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle
Accès direct à votre signature pour la corriger.
.
Veuillez corriger le titre de votre sujet [calc] Macro accédant à une métadonnée de fichier jpg
- Pour la bonne tenue de ce forum, veillez à respecter la mise en forme des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets). [Calc] et non [calc].
- Les termes implicites comme macro, aide, problème ou OpenOffice n'ont pas besoin d'être mentionnés.
Cette version de LibO est obsolète.Dans votre signature il y a écrit :LibreOffice version 6.3.6.2 (x64)
Si c'est une obligation ou un choix mentionnez-le par Obligation de version ou Choix dans votre signature afin de ne pas être relancé.
Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle
Accès direct à votre signature pour la corriger.
.
publier le code de la macro exposant le problème.FredBauchot a écrit : ↑15 janv. 2025 22:16 Si quelqu'un a une piste permettant à ma macro de récupérer cette information
Merci de publier le code de cette macro et éventuellement un document anonymisé la contenant.FredBauchot a écrit : ↑15 janv. 2025 22:16 Si quelqu'un a une piste permettant à ma macro de récupérer cette information
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
-
- IdOOle de la suite
- Messages : 25964
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Macro accédant à une métadonnée de fichier jpg
Salut,
Basic n'a pas de fonction interne pour ça.
Il faut utiliser une bibliothèque externe. Il en existe en Python et en Javascript qui sont des langages utilisables par Calc.
Maintenant, une solution plus simple est de faire appel à ExifTool(2).
C'est un utilitaire simple pouvant être appelé par l'instruction Shell.
C'est ce qu'on appelle une donnée EXIF(1). On a parlé plusieurs fois déjà.FredBauchot a écrit : ↑15 janv. 2025 22:16 une métadonnée de ce fichier image, plus précisément sa date de création
Basic n'a pas de fonction interne pour ça.
Il faut utiliser une bibliothèque externe. Il en existe en Python et en Javascript qui sont des langages utilisables par Calc.
Maintenant, une solution plus simple est de faire appel à ExifTool(2).
C'est un utilitaire simple pouvant être appelé par l'instruction Shell.
- https://fr.wikipedia.org/wiki/Exchangeable_image_file_format
- https://exiftool.org
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 24 déc. 2024 11:07
Re: [résolu][Calc] Accéder à une métadonnée de fichier jpg
Merci Dude, problème résolu en utilisant l'outil exiftool.
LibreOffice version 24.8.4.2 (x86_64), sur Windows 11 Famille, version 23H2
-
- RespOOnsable forum
- Messages : 12659
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Re: [résolu][Calc] Accéder à une métadonnée de fichier jpg
Merci de fournir un document et publier la macro.
Cela permettra à d'autres qui tomberont sur ce fil d'avoir une solution clé-en-main.
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 24 déc. 2024 11:07
Re: [Résolu][Calc] Accéder à une métadonnée de fichier jpg
Bonjour,
désolé Bidouille de ne pas avoir posté ceci plus tôt, mais les messages reçus dans ma boite mail de la part du Forum étaient « planqués » dans le spam (bien que j’avais précédemment indiqué à ma messagerie que l’adresse mail du forum est « acceptable »).
J’ai créé un fichier ods, disponible en pièce jointe, montrant un exemple d’utilisation de exiftool. L’objectif est de récupérer les données suivantes pour les fichiers photo jpg dans un répertoire donné: date de dernière modification, latitude et longitude.
Le répertoire est spécifié en cellule D2 et l’appel à exiftool se fait en cellule D4, la formule correspondante ayant été copiée en D6:
Pour réussir à obtenir quelque chose de correct, j’ai utilisé :
• l’outil exiftool téléchargé depuis https://exiftool.org/ de Phil Harvey. Je l’ai installé sur ma racine D : où j’ai pris soin d’y copier le répertoire « exiftool_files » comme spécifié dans la documentation d’exiftool.
• la fonction SHELLRUN, récupérée sur le forum https://stackoverflow.com/questions/2784367/capture-output-value-from-a-shell-command-in-vba
• L’excellent document https://orchisere.fr/logiciels/html/exiftool.htm sur l’utilisation d’exiftool (un modèle du genre en terme de pédagogie)
• Et une aide précieuse de l’auteur de ce dernier document.
Pour info, la dernière difficulté a été de bien préciser les paramètres de exiftool dans l’argument de SHELLRUN, ce qui a été possible grâce à l’emploi de UNICAR(34) pour représenter la double quote.
désolé Bidouille de ne pas avoir posté ceci plus tôt, mais les messages reçus dans ma boite mail de la part du Forum étaient « planqués » dans le spam (bien que j’avais précédemment indiqué à ma messagerie que l’adresse mail du forum est « acceptable »).
J’ai créé un fichier ods, disponible en pièce jointe, montrant un exemple d’utilisation de exiftool. L’objectif est de récupérer les données suivantes pour les fichiers photo jpg dans un répertoire donné: date de dernière modification, latitude et longitude.
Le répertoire est spécifié en cellule D2 et l’appel à exiftool se fait en cellule D4, la formule correspondante ayant été copiée en D6:
Code : Tout sélectionner
=SHELLRUN("d:\exiftool -f -a -file:FileModifyDate -composite:gpslatitude -composite:gpslongitude "&UNICAR(34)&D2&"\*.jpg"&UNICAR(34))
• l’outil exiftool téléchargé depuis https://exiftool.org/ de Phil Harvey. Je l’ai installé sur ma racine D : où j’ai pris soin d’y copier le répertoire « exiftool_files » comme spécifié dans la documentation d’exiftool.
• la fonction SHELLRUN, récupérée sur le forum https://stackoverflow.com/questions/2784367/capture-output-value-from-a-shell-command-in-vba
• L’excellent document https://orchisere.fr/logiciels/html/exiftool.htm sur l’utilisation d’exiftool (un modèle du genre en terme de pédagogie)
• Et une aide précieuse de l’auteur de ce dernier document.
Pour info, la dernière difficulté a été de bien préciser les paramètres de exiftool dans l’argument de SHELLRUN, ce qui a été possible grâce à l’emploi de UNICAR(34) pour représenter la double quote.
Code : Tout sélectionner
Public Function ShellRun(sCmd As String) As String
'Run a shell command, returning the output as a string'
Dim oShell As Object
oShell = CreateObject("WScript.Shell")
'run command'
Dim oExec As Object
Dim oOutput As Object
oExec = oShell.Exec(sCmd)
oOutput = oExec.StdOut
'handle the results as they are written to and read from the StdOut object'
Dim s As String
Dim sLine As String
While Not oOutput.AtEndOfStream
sLine = oOutput.ReadLine
If sLine <> "" Then s = s & sLine & chr(10)
Wend
ShellRun = s
End Function
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice version 24.8.4.2 (x86_64), sur Windows 11 Famille, version 23H2
-
- IdOOle de la suite
- Messages : 25964
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Résolu][Calc] Accéder à une métadonnée de fichier jpg
Tu n'as pas lu ce que je propose :
Pour l'encapsulation des guillemets, suivre ce suprême de code.
Ce qui donnera :
autre possibilité :
Et donc pas besoin d'appeler un objet PowerShell Windows.
Pour l'encapsulation des guillemets, suivre ce suprême de code.
Ce qui donnera :
Code : Tout sélectionner
sCmd = "d:\exiftool -f -a -file:FileModifyDate -composite:gpslatitude -composite:gpslongitude"
sChemin = "c:\temp"
Shell(sCmd & " """& sChemin &"\*.jpg"""))
Code : Tout sélectionner
Shell(sCmd & " "& chr(34) & sChemin & "\*.jpg" & chr(34))