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.
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.
Ci-dessous est donné le Python script pour la macro
Pour ajouter une nouvelle macro, créez le fichier
from scriptforge import CreateScriptService
def HelloPython():
doc = CreateScriptService("Calc")
doc.SetValue("B8", "Hello Python!")
return None
Ensuite, fermez
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
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.
Vous pouvez également utiliser un ensemble prêt-à-l'emploi de fonctions et d'utilitaires écrits en
Après cela, cette fonctionnalité sera disponible dans tous les fichiers qui seront ouverts dans LibreOffice Calc.