Wiki source for Blog20251111ProgrammationLibreOffice
Autant s'essayer à un peu de programmation en ""LibreOffice"" par l'utilisation des macros.
note : ce wiki transforme le terme LibreOffice en lien intra-wiki, aussi le terme libreOffice (sans majuscule au début) sera utilisé pour l'éviter...
=== Programmation ""LibreOffice"" : les macros ===
""LibreOffice"" est programmable en Basic et Python, d'autres langages sont possibles (java, rust ? Go ?)
Q LibO_20251111_A : les macros ne sont enregistrées qu'en Basic ? Comment les enregistrer en Python (au moins) ?
Q LibO_20251111_B : quels autres langages sont possibles pour les Macros ?
Trouver une description réalisable par les macros, correspondant à leur utilisation.
Description 1 : automatiser un ensemble d'actions répétitives pour pouvoir les répéter automatiquement, un peu de paramétrage (saisie utilisateur), sinon utiliser format date YYYYMMDDHH24MISS pour nommage à la seconde pour unicité des fichiers générés
Description 2 : pour utilisation avancée, trouver documentation sur libreOffice Uno
=== Démarche d'utilisation des macros retenue ===
essayer enregistrement de macros
trouver des exemples : noter URL
voir interactions possibles entre Write et Calc (voire Impress).
essayer sur un exemple trivial :
~- dans Calc : charger un fichier CSV, afficher une représentation graphique
~- dans Write : présenter un tableau de données, ajouter automatiquement le graphique réalisé par Calc avec description, capacité à actualiser le graphique lorsque
=== Fonction d'enregistrement de macros ===
Pour démarrer avec une structure déjà constituée, autant utiliser l'outil d'enregistrement de Macros, cela permettra de rejouer une séquence d'actions.
https://help.libreoffice.org/latest/fr/text/shared/guide/macro_recording.html?DbPAR=BASIC
Menu Outils / Macros / enregistrer une macro : n'apparaît qu'une fois qu'on l'a activé par Menu Outils / Options / ""LibreOffice"" / Avancé / Fonctionnalités optionnelles : Activer l'enregistreur de macro (peut être limité)
Saisissez un nom pour la nouvelle macro dans la zone de texte Nom de la macro. N'utilisez pas les mots de passe Basic en tant que nom. => le terme keywords est sans doute mal traduit par mots de passe au lieu de mots-clés, trouver version anglaise et
Les Outils de développement sont visibles dans tous les document LibreOffice Writer, Calc, Impress et Draw
=== Exemples d'utilisation de macros ""LibreOffice"" ===
== exemple 1 : macro libreOffice pour insérer graphique dans calc à partir fichier CSV ==
objectif : enregistrer une macro simple ne travaillant que dans calc, permettant représentation graphique fixe
== exemple 2 : insérer graphique généré par calc dans document Write ==
objectif : voir interactions entre writer et calc
ne pas se baser sur un CSV mais sur un tableau dans Writer, ajouter une légende pour ajouter graphique à liste des illustrations (et actualiser l'index correspondant)
== exemple 3 : récupérer données et générer automatiquement un document mis en forme ==
objectif : montrer l'utilisation de macros avec Uno, permettant de limiter les interactions avec un utilisateur (tout en automtique)
récupérer les données formatées, via une API (appel de page web ?), filtrer les données utiles, faire la représentation graphique, l'insérer dans nouveau document formaté
=== Liste de questions numérotées ===
LibO_20251111_B - O - quels autres langages sont possibles pour les Macros ? Basic + Python de base, d'autres langages sont possibles (java, rust ? Go ?)
LibO_20251111_A - O - les macros ne sont enregistrées qu'en Basic ? Comment les enregistrer en Python (au moins) ?
note : ce wiki transforme le terme LibreOffice en lien intra-wiki, aussi le terme libreOffice (sans majuscule au début) sera utilisé pour l'éviter...
=== Programmation ""LibreOffice"" : les macros ===
""LibreOffice"" est programmable en Basic et Python, d'autres langages sont possibles (java, rust ? Go ?)
Q LibO_20251111_A : les macros ne sont enregistrées qu'en Basic ? Comment les enregistrer en Python (au moins) ?
Q LibO_20251111_B : quels autres langages sont possibles pour les Macros ?
Trouver une description réalisable par les macros, correspondant à leur utilisation.
Description 1 : automatiser un ensemble d'actions répétitives pour pouvoir les répéter automatiquement, un peu de paramétrage (saisie utilisateur), sinon utiliser format date YYYYMMDDHH24MISS pour nommage à la seconde pour unicité des fichiers générés
Description 2 : pour utilisation avancée, trouver documentation sur libreOffice Uno
=== Démarche d'utilisation des macros retenue ===
essayer enregistrement de macros
trouver des exemples : noter URL
voir interactions possibles entre Write et Calc (voire Impress).
essayer sur un exemple trivial :
~- dans Calc : charger un fichier CSV, afficher une représentation graphique
~- dans Write : présenter un tableau de données, ajouter automatiquement le graphique réalisé par Calc avec description, capacité à actualiser le graphique lorsque
=== Fonction d'enregistrement de macros ===
Pour démarrer avec une structure déjà constituée, autant utiliser l'outil d'enregistrement de Macros, cela permettra de rejouer une séquence d'actions.
https://help.libreoffice.org/latest/fr/text/shared/guide/macro_recording.html?DbPAR=BASIC
Menu Outils / Macros / enregistrer une macro : n'apparaît qu'une fois qu'on l'a activé par Menu Outils / Options / ""LibreOffice"" / Avancé / Fonctionnalités optionnelles : Activer l'enregistreur de macro (peut être limité)
Saisissez un nom pour la nouvelle macro dans la zone de texte Nom de la macro. N'utilisez pas les mots de passe Basic en tant que nom. => le terme keywords est sans doute mal traduit par mots de passe au lieu de mots-clés, trouver version anglaise et
Les Outils de développement sont visibles dans tous les document LibreOffice Writer, Calc, Impress et Draw
=== Exemples d'utilisation de macros ""LibreOffice"" ===
== exemple 1 : macro libreOffice pour insérer graphique dans calc à partir fichier CSV ==
objectif : enregistrer une macro simple ne travaillant que dans calc, permettant représentation graphique fixe
== exemple 2 : insérer graphique généré par calc dans document Write ==
objectif : voir interactions entre writer et calc
ne pas se baser sur un CSV mais sur un tableau dans Writer, ajouter une légende pour ajouter graphique à liste des illustrations (et actualiser l'index correspondant)
== exemple 3 : récupérer données et générer automatiquement un document mis en forme ==
objectif : montrer l'utilisation de macros avec Uno, permettant de limiter les interactions avec un utilisateur (tout en automtique)
récupérer les données formatées, via une API (appel de page web ?), filtrer les données utiles, faire la représentation graphique, l'insérer dans nouveau document formaté
=== Liste de questions numérotées ===
LibO_20251111_B - O - quels autres langages sont possibles pour les Macros ? Basic + Python de base, d'autres langages sont possibles (java, rust ? Go ?)
LibO_20251111_A - O - les macros ne sont enregistrées qu'en Basic ? Comment les enregistrer en Python (au moins) ?