TOP

Comment intégrer un Python script dans un fichier ODS

Description

LibreOffice Calc offre aux utilisateurs la possibilité de créer leurs propres macros en Python, cependant, ces macros ne peuvent être stockées que sur le PC de l'utilisateur, c'est-à-dire dans le programme lui-même. Malheureusement, LO Calc n'a pas la capacité intégrée de stocker les Python scripts dans le fichier *.ods lui-même, ce qui crée des inconvénients lors de l'utilisation de tels scripts, car ils ne peuvent pas être transférés avec les données à un autre utilisateur.

Ce problème ne peut être résolu que manuellement, à savoir en reconditionnant le fichier *.ods et en y ajoutant les Python scripts nécessaires.

Alors, apprenons comment intégrer des Python scripts dans un fichier ODS afin de pouvoir les envoyer à d'autres utilisateurs.


Python Folder

Toutes les macros Python sont stockées dans le dossier suivant :

%APPDATA%\LibreOffice\4\user\Scripts\python

Si les dossiers Scripts et python sont absents, alors vous devez les créer manuellement.

Code de la macro Python

Ci-dessous est donné le Python script pour la macro HelloPython, qui inscrit la phrase "Hello Python!" dans la cellule "B8" dans le programme LibreOffice Calc.

Pour ajouter une nouvelle macro, créez le fichier myPyScripts.py et ouvrez-le avec Notepad++ (ou Windows Notepad) et copiez-y le texte suivant :

from scriptforge import CreateScriptService

def HelloPython():
    doc = CreateScriptService("Calc")
    doc.SetValue("B8", "Hello Python!")
    return None

Ensuite, fermez Notepad++ et retournez à LibreOffice Calc. Pour exécuter ce script, ouvrez le menu Tools - Macros - Organise Macros - Python..., sélectionnez "My Macros", développez le dossier "myPyScripts" et en sélectionnant HelloPython cliquez sur le bouton Run.

Transfert du Python script vers un fichier ODS

Pour transférer un Python script dans un fichier *.ods, il faut le décompresser avec n'importe quel logiciel d'archivage (7-zip, WinRAR, etc.) dans un dossier séparé. Oui, c'est exact, votre fichier *.ods est simplement une archive d'un ensemble de dossiers et de fichiers.

Ensuite, dans ce dossier décompressé, créez un sous-dossier Scripts, et à l'intérieur de celui-ci - un sous-dossier python. L'étape suivante, copiez dans le dossier python le fichier myPyScripts.py.

Il est également nécessaire de spécifier explicitement le chemin du fichier, où se trouve votre macro Python. Pour cela, dans le dossier META-INF, modifiez le fichier manifest.xml, en y ajoutant la ligne suivante :

<manifest:file-entry manifest:full-path="Scripts/python/myPyScripts.py" manifest:media-type="application/binary"/>

Maintenant, archivez le contenu du dossier précédemment décompressé avec vos modifications dans une archive *.zip. Ensuite, renommez cette archive, en changeant son nom (afin de ne pas écraser votre fichier original) et l'extension de *.zip en *.ods.

Utilisation de l'extension

Vous pouvez également utiliser un ensemble prêt-à-l'emploi de fonctions et d'utilitaires écrits en Python en installant l'extension YLC Utilities.

Après cela, cette fonctionnalité sera disponible dans tous les fichiers qui seront ouverts dans LibreOffice Calc.

Menu YLC Utilities dans LO Calc

Menu YLC Utilities dans LO Calc

Menu YLC Utilities dans Excel

Menu YLC Utilities dans Excel