Outils pour utilisateurs

Outils du site


libreoffice_macro

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
libreoffice_macro [2024/01/20 14:50] tomlibreoffice_macro [2026/08/16 14:51] (Version actuelle) – [Python] Orthographe et typographie. Sébastien Cosson
Ligne 18: Ligne 18:
 ===== Python ===== ===== Python =====
  
-L'intéret d'utiliser Python avec LibreOffice est l'utilisation cross-platforme. LibreOffice intègre son propre interpéteur Python, différend de ceux fourni par les IDE Python.+L'intérêt d'utiliser Python avec LibreOffice est l'utilisation cross-platforme. LibreOffice intègre son propre interpréteur Python, différent de ceux fournis par les IDE Python.
  
-Résumé de l'article suivant: https://www.debugpoint.com/first-python-macro-libreoffice/\\ +Résumé de l'article suivant : https://www.debugpoint.com/first-python-macro-libreoffice/\\ 
  
-Pour utiliser Python pour programmer des macros, il faut installer le script provider:+Pour utiliser Python pour programmer des macros, il faut installer le //script provider// :
  
   sudo apt install libreoffice-script-provider-python   sudo apt install libreoffice-script-provider-python
Ligne 29: Ligne 29:
 {{::macro_menu_basic_python.png?400|}} {{::macro_menu_basic_python.png?400|}}
  
-Avec BASIC l'éditeur de code est fourni dans LibreOffice. Pour Python il faudrat utiliser un éditeur extérieur type [[https://thonny.org/|Thonny]]+Avec BASIC l'éditeur de code est fourni dans LibreOffice. Pour Python il faudrait utiliser un éditeur extérieur type [[https://thonny.org/|Thonny]].
  
-Les fichiers de macros sont détéctés par libreOffice lorsqu'ils sont dans le dossier adéquat qu'il faut créé:+Les fichiers de macros sont détectés par LibreOffice lorsqu'ils sont dans le dossier adéquat qu'il est nécessaire de créer :
   ~/.config/libreoffice/4/user/Scripts/python   ~/.config/libreoffice/4/user/Scripts/python
  
Ligne 44: Ligne 44:
       return None       return None
  
-Pour exécuter la macro:+Pour exécuter la macro :
  
 {{::macro_menu_python.png?400|}} {{::macro_menu_python.png?400|}}
  
-Si le bouton 'Run' ou 'Éxécuter' est grisé, la syntaxe du code est probablement erroné quelque part. Éxécuter la macro dans l'éditeur Python aidera à détecter l'erreur.+Si le bouton 'Run' ou 'Exécuter' est grisé, la syntaxe du code est probablement erroné quelque part. Exécuter la macro dans l'éditeur Python aidera à détecter l'erreur.
  
  
-Il est aussi possible d'integrer une macro à un fichier LibreOffice: http://christopher5106.github.io/office/2015/12/06/openoffice-libreoffice-automate-your-office-tasks-with-python-macros.html#pack-your-script-inside-the-document--the-opendocument-format+Il est aussi possible d'intégrer une macro à un fichier LibreOffice: http://christopher5106.github.io/office/2015/12/06/openoffice-libreoffice-automate-your-office-tasks-with-python-macros.html#pack-your-script-inside-the-document--the-opendocument-format
  
 Pour cela on créé un script Python //include_macro.py// qui va ajouter //myscript.py// dans le document //document.ods// Pour cela on créé un script Python //include_macro.py// qui va ajouter //myscript.py// dans le document //document.ods//
Ligne 83: Ligne 83:
   print("File created: "+filename)   print("File created: "+filename)
  
-Éxécuter l'integration:+Exécuter l'intégration :
   python include_macro.py document.ods myscript.py   python include_macro.py document.ods myscript.py
  
Ligne 107: Ligne 107:
 Cette extension permet à des scripts Python d'être exécuté en dehors d'un document LibreOffice et d'interagir avec celui-ci. Cette extension permet à des scripts Python d'être exécuté en dehors d'un document LibreOffice et d'interagir avec celui-ci.
 Il existe aussi l'extension [[https://pypi.org/project/oooenv/|oooenv]] qui est nécessaire pour créer un envirronement virtuel afin d'utiliser OooDevTools. Plus d'info [[https://python-ooo-dev-tools.readthedocs.io/en/main/guide/virtual_env/index.html|ici]]. Il existe aussi l'extension [[https://pypi.org/project/oooenv/|oooenv]] qui est nécessaire pour créer un envirronement virtuel afin d'utiliser OooDevTools. Plus d'info [[https://python-ooo-dev-tools.readthedocs.io/en/main/guide/virtual_env/index.html|ici]].
 +
 +=== MRI ===
 +
 +MRI n'est pas une extension spécifique à Python mais elle permet d'inspecter les éléments d'un document LibreOffice. La version 1.1.4  ne s'installe pas avec LibreOffice 7.6.4 mais la version 1.3.4 fonctionne et est disponible sur [[https://github.com/hanya/MRI|Github]]
  
 ==== Librairies Python pour LibreOffice ==== ==== Librairies Python pour LibreOffice ====
Ligne 121: Ligne 125:
  
 De la même manière que pour Python, il faut installer le script_provider si JavaScript n'est pas disponible dans le menu 'Outils  - Macros - Organiser les Macros': De la même manière que pour Python, il faut installer le script_provider si JavaScript n'est pas disponible dans le menu 'Outils  - Macros - Organiser les Macros':
-  Package libreoffice-script-provider-js+  sudo apt install libreoffice-script-provider-js
  
-On peut ensuite créé un module et une macro via le menu de Libreoffice. Il est conseillé de passer par ce menu pour créer la macro car elle se localisera directement dans le dossier //~/.config/libreoffice/4/user/Scripts/javascript// et elle sera accompagné d'un fichier //parcel-descriptor.xml// qui permet à LibreOffice de détecter la macro:+On peut ensuite créé un module et une macro via le menu de Libreoffice. Il est conseillé de passer par ce menu pour créer la macro car elle se localisera directement dans le dossier //~/.config/libreoffice/4/user/Scripts/javascript// et elle sera accompagné d'un fichier //parcel-descriptor.xml// qui permet à LibreOffice de détecter la macro.
      
 +Il est ensuite possible d'exécuter la macro. Et le bouton d'édition ouvre l'utilitaire //Rhino Javascript Debugger// qui permet d'éditer la macro et de la débugger.
  
 ===== BeanShell ===== ===== BeanShell =====
Ligne 136: Ligne 141:
  
 Plus d'info [[https://api.libreoffice.org/docs/install.html|ici]]: Plus d'info [[https://api.libreoffice.org/docs/install.html|ici]]:
 +
 +
 +===== Avancé =====
 +Il est possible de faire enormement de chose avec LibreOffice:
 +  * Créér des extensions qui embarquent des script spécifique
 +  * Démarrer LibreOffice avec un socket ouvert pour le contrôller depuis un autre programme
 +  * Créer d'autre script-provider pour intégrer d'autre langages de macros.
 +
  
 ===== Sources et resources ===== ===== Sources et resources =====
Ligne 149: Ligne 162:
 https://extensions.libreoffice.org/en/extensions/show/41700\\  https://extensions.libreoffice.org/en/extensions/show/41700\\ 
 https://python-ooo-dev-tools.readthedocs.io/en/main/index.html\\  https://python-ooo-dev-tools.readthedocs.io/en/main/index.html\\ 
-https://www.youtube.com/watch?v=pHlLdyJz2sE\\  +[[https://www.youtube.com/watch?v=pHlLdyJz2sE|[YouTube] Python scripts in LibreOffice Calc using the ScriptForge library]]\\  
-https://www.youtube.com/watch?v=d5Mga1TibJc\\  +[[https://www.youtube.com/watch?v=d5Mga1TibJc|[YouTube] Macros Python pour LibreOffice Calc]]\\  
-https://niocs.github.io/LOBook/index.html+https://niocs.github.io/LOBook/index.html\\  
 +[[https://www.youtube.com/watch?v=g8I8uGjaXA8|[YouTube] Automating LibreOffice Calc with Python by Onyeibo Oku]]\\  
 +https://tutolibro.tech/2019/07/26/libreoffice-calc-python-programming-part-1-requirements/
libreoffice_macro.1705762222.txt.gz · Dernière modification : de tom