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/19 18:16] tomlibreoffice_macro [2024/01/29 17:08] (Version actuelle) tom
Ligne 6: Ligne 6:
 Avec LibreOffice Calc, il est possible d'éxécuter des macros, un ensemble de fonctions qui permet de manipuler et d'effectuer des opérations dans un ou plusieurs fichiers LibreOffice. Avec LibreOffice Calc, il est possible d'éxécuter des macros, un ensemble de fonctions qui permet de manipuler et d'effectuer des opérations dans un ou plusieurs fichiers LibreOffice.
  
-Les langages de programmation disponibles sont le **BASIC**, **Python**, **JavaScript** et **[[http://beanshell.org/intro.html|BeanShell]]**. Par defautseul BASIC est disponible.{{::macro_menu_basic_only.png?400|}}+Les langages de programmation disponibles sont le **BASIC**, **Python**, **JavaScript** et **[[http://beanshell.org/intro.html|BeanShell]]**. Sous Ubuntul'installation de LibreOffice via le store d'applications installe seulement BASIC.{{::macro_menu_basic_only.png?400|}} 
 + 
 +Pour avoir les autres langages de programmation, il faut installer les //script-provider// spécifiques ou réinstaller LibreOffice complétement à partir d'APT: 
 +  sudo apt install libreoffice
  
 ===== BASIC ===== ===== BASIC =====
 +
 +Le développement de macro BASIC est integré à LibreOffice gràce à son [[https://extensions.libreoffice.org/assets/downloads/7/LibOBasic_01_IDE_Flat_A4_FR_v105.pdf|IDE]], les macros peuvent être integrées au document.\\ 
 +https://wiki.documentfoundation.org/images/2/2d/GS4013FR-Macros.pdf
  
 ===== 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é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.
  
 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:+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 102: Ligne 108:
 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]].
  
-===== Librairies Python pour LibreOffice =====+=== 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 ====
 Afin d'interagir avec un document LibreOffice, il est nécessaire d'utiliser l'[[https://api.libreoffice.org/|API]]. Afin d'interagir avec un document LibreOffice, il est nécessaire d'utiliser l'[[https://api.libreoffice.org/|API]].
  
Ligne 110: 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
  
 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 131: 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.1705688189.txt.gz · Dernière modification : 2024/01/19 18:16 de tom