libreoffice_macro
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
libreoffice_macro [2024/01/17 17:25] – tom | libreoffice_macro [2024/01/29 17:08] (Version actuelle) – tom | ||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
Avec LibreOffice Calc, il est possible d' | Avec LibreOffice Calc, il est possible d' | ||
- | Les langages de programmation disponibles sont le **BASIC**, **Python**, **JavaScript** et **[[http:// | + | Les langages de programmation disponibles sont le **BASIC**, **Python**, **JavaScript** et **[[http:// |
+ | |||
+ | Pour avoir les autres langages de programmation, | ||
+ | sudo apt install libreoffice | ||
+ | |||
+ | ===== BASIC ===== | ||
+ | |||
+ | Le développement de macro BASIC est integré à LibreOffice gràce à son [[https:// | ||
+ | https:// | ||
===== Python ===== | ===== Python ===== | ||
- | Résumé de l' | ||
- | Pour utiliser Python pour programmer des macros, il faut installer le script: | + | L' |
+ | |||
+ | Résumé de l' | ||
+ | |||
+ | Pour utiliser Python pour programmer des macros, il faut installer le script | ||
sudo apt install libreoffice-script-provider-python | sudo apt install libreoffice-script-provider-python | ||
Ligne 20: | Ligne 31: | ||
Avec BASIC l' | Avec BASIC l' | ||
- | Les fichiers de macros sont détéctés par libre_office | + | Les fichiers de macros sont détéctés par libreOffice |
~/ | ~/ | ||
Ligne 33: | Ligne 44: | ||
return None | return None | ||
- | Pour éxécuter | + | Pour exécuter |
{{:: | {{:: | ||
Si le bouton ' | Si le bouton ' | ||
+ | |||
+ | |||
+ | Il est aussi possible d' | ||
+ | |||
+ | Pour cela on créé un script Python // | ||
+ | |||
+ | # | ||
+ | import zipfile | ||
+ | import shutil | ||
+ | import os | ||
+ | import sys | ||
+ | | ||
+ | print(" | ||
+ | shutil.rmtree(" | ||
+ | os.mkdir(" | ||
+ | | ||
+ | filename = " | ||
+ | print(" | ||
+ | macroName = sys.argv[2] | ||
+ | shutil.copyfile(sys.argv[1], | ||
+ | | ||
+ | doc = zipfile.ZipFile(filename,' | ||
+ | doc.write(macroName, | ||
+ | manifest = [] | ||
+ | for line in doc.open(' | ||
+ | if '</ | ||
+ | for path in [' | ||
+ | manifest.append(' | ||
+ | manifest.append(line.decode(' | ||
+ | | ||
+ | doc.writestr(' | ||
+ | doc.close() | ||
+ | print(" | ||
+ | |||
+ | Éxécuter l' | ||
+ | python include_macro.py document.ods myscript.py | ||
+ | |||
+ | ==== Extensions Python ==== | ||
+ | |||
+ | === APSO (Alternative Script Organizer for Python ) === | ||
+ | |||
+ | Cette extension permet de gérer dans LibreOffice les macros Python (celles dans le dossier adéquat). Il faut avoir installé // | ||
+ | //. Elle permet aussi d' | ||
+ | |||
+ | https:// | ||
+ | |||
+ | === Include Python Path Extension for LibreOffice === | ||
+ | |||
+ | Avec Python, il est possible de créer des environnement virtuel. Cela permet d' | ||
+ | |||
+ | Cette extension permet d' | ||
+ | |||
+ | https:// | ||
+ | |||
+ | === OOO Development Tools (OooDev) === | ||
+ | |||
+ | Cette extension permet à des scripts Python d' | ||
+ | Il existe aussi l' | ||
+ | |||
+ | === MRI === | ||
+ | |||
+ | MRI n'est pas une extension spécifique à Python mais elle permet d' | ||
+ | |||
+ | ==== Librairies Python pour LibreOffice ==== | ||
+ | Afin d' | ||
+ | |||
+ | Des librairies pour intéragir avec l'API existe: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | D' | ||
+ | |||
+ | ===== 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 ' | ||
+ | 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 // | ||
+ | | ||
+ | Il est ensuite possible d' | ||
+ | |||
+ | ===== BeanShell ===== | ||
+ | |||
+ | On s'en fiche non ? | ||
+ | |||
+ | ===== Le SDK LibreOffice ===== | ||
+ | |||
+ | Le SDK est un ensemble d' | ||
+ | sudo apt install libreoffice-dev | ||
+ | |||
+ | Plus d'info [[https:// | ||
+ | |||
+ | |||
+ | ===== 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' | ||
+ | |||
===== Sources et resources ===== | ===== Sources et resources ===== | ||
Ligne 51: | Ligne 162: | ||
https:// | https:// | ||
https:// | https:// | ||
- | https:// | + | [[https:// |
- | https:// | + | [[https:// |
+ | https:// | ||
+ | [[https:// | ||
+ | https:// |
libreoffice_macro.1705512351.txt.gz · Dernière modification : 2024/01/17 17:25 de tom