[Python] Manipuler du python embarqué dans un classeur ods

Venez découvrir tous les tutoriels, modèles et autres foires aux questions afin de maîtriser rapidement votre suite bureautique favorite.

Modérateur : Vilains modOOs

Règles du forum
Aucune question dans cette section !
Cette section est faite pour présenter les tutoriels. Si vous avez une question sur l'installation, le fonctionnement ou l'utilisation, vous devez poster dans la section du module où se produit le problème.

Ce tutoriel vous a-t-il aidé ou répondu à votre problème ?

Oui
1
20%
Non
2
40%
En partie
2
40%
 
Nombre total de votes : 5

Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 629
Inscription : 09 août 2017 22:15

[Python] Manipuler du python embarqué dans un classeur ods

Message par Jurassic Pork »

voici un mini tutoriel pour vous aider à utiliser du code python embarqué dans un classeur LibreOffice, OpenOffice.
Tout d'abord pour réaliser cela, une extension est presqu'indispensable : APSO (disponible ici en version 1.3.2)
Télécharger l'extension, installez là
Pour éditer du code python, je vous conseille fortement d'utiliser un éditeur avec coloration syntaxique pour du code python.
exemple : notepad++ pour windows et geany pour toutes les plateformes
Pour désigner l'éditeur qui va être utiliser dans APSO pour éditer les fichiers , dans le gestionnaire des extensions, sélectionnez APSO et cliquer sur le bouton Options. Dans le champ Editeur, cliquer sur le bouton Choisir et indiquer l'exécutable à lancer.
APSO_2.png
Pour créer un nouveau module python à l'intérieur de votre classeur ods :
Cliquez sur Outils/Macros/Gérer les scripts Python
APSO_3.png
Dans la fenêtre APSO qui s'ouvre, sélectionnez votre classeur et cliquer sur le bouton Menu et choisir Nouveau module.
Dans la fenêtre qui s'ouvre, donnez un nom explicite à ce module, exemple : ModulePython
Maintenant vous pouvez éditer le code de ce nouveau module :
Dans la fenêtre APSO, descendre dans l'arborescence de votre classeur, jusqu'à arriver au nouveau module.
Sélectionnez ce nouveau module et cliquez sur le bouton Menu. Vous avez différents choix dont Modifier qui va permettre d'ouvrir le module dans l'éditeur que vous avez désigné dans les options d'APSO.
Attention le module est ouvert dans un fichier temporaire. Si vous voulez le sauvegarder dans le classeur, il vous faut enregistrer le classeur et pour faire cela il vous faut fermer la fenêtre APSO qui est bloquante.
Si vous rajouter du code dans le module python embarqué par l'éditeur, il ne faut pas oublier d'enregistrer le code dans l'éditeur avant d'enregistrer le classeur. Pour que ce code soit pris en compte, il faut fermer le classeur et le réouvrir.
Maintenant dans votre code vous pouvez ajouter des fonctions qui seront vues comme des macros par votre tableur. Vous devez déclarer les fonctions que vous voulez pouvoir appeler du tableur dans la ligne qui commence par g_exportedScripts
exemple :
g_exportedScripts = StopTimer,initTimer,testerDocument,createIniFile

Pour déboguer une fonction python appelée utiliser le débogueur d'APSO :
Dans la fenêtre APSO sélectionnez votre fonction dans votre module interne python, cliquez sur le bouton Menu et choisir Déboguer.
APSO_5.png
J'espère que tout cela est assez clair pour vous.
Ami calmant, J.P
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04