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:25] 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 116: Ligne 120:
   * [[https://github.com/Amourspirit/python-types-unopy|types-unopys]], pour ajouter le typage   * [[https://github.com/Amourspirit/python-types-unopy|types-unopys]], pour ajouter le typage
  
-D'autres librairies peuvent être ajoutées à un code Python tel que [[https://numpy.org/|Numpy]] ou [[https://github.com/pydata/numexpr|Numexpr]] +D'autres librairies peuvent être ajoutées à un code Python tel que [[https://numpy.org/|Numpy]] ou [[https://github.com/pydata/numexpr|Numexpr]]
  
 +===== JavaScript =====
 +
 +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':
 +  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.
 +  
 +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 =====
 +
 +On s'en fiche non ?
  
 ===== Le SDK LibreOffice ===== ===== Le SDK LibreOffice =====
 +
 Le SDK est un ensemble d'outils et de librairies pour créer des applications dans différents langages de programmation (Java, C++,..) qui pourront interagir avec LibreOffice. Pour l'installer, si LibreOffice a été installé via le store Ubuntu, il faut éxecuter la commande: Le SDK est un ensemble d'outils et de librairies pour créer des applications dans différents langages de programmation (Java, C++,..) qui pourront interagir avec LibreOffice. Pour l'installer, si LibreOffice a été installé via le store Ubuntu, il faut éxecuter la commande:
   sudo apt install libreoffice-dev   sudo apt install libreoffice-dev
Ligne 125: Ligne 142:
 Plus d'info [[https://api.libreoffice.org/docs/install.html|ici]]: Plus d'info [[https://api.libreoffice.org/docs/install.html|ici]]:
  
-===== JavaScript & BeanShell ===== 
  
-Il y a trop peu d'informations disponible pour écrire un chapitre intérressant.+===== 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 141: 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.1705760741.txt.gz · Dernière modification : de tom