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 :

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) ?
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki