TOP

Nous écrivons une macro sur Python pour LibreOffice Calc

Description

LibreOffice Calc permet aux utilisateurs de créer leurs propres macros à l'aide du langage de programmation intégré StarBasic. Cette langue est très similaire à VBA , cependant, a des fonctionnalités limitées car il est rarement utilisé.

Les langages de programmation modernes, tels que Python, offrent beaucoup plus de possibilités et disposent d'une plus large gamme de bibliothèques supplémentaires pour toutes les occasions.

Voyons donc comment créer vos propres macros en utilisant un langage de programmation aussi populaire aujourd'hui que Python.


Le package de programmes bureautiques LibreOffice vous permet de créer vos propres macros dans des langages de programmation tiers tels que Python, JavaScript, C++, Java.

StarBASIC Code pour HelloWorld

Tout d'abord, rappelons comment vous pouvez écrire votre propre programme à l'aide des outils standard LibreOffice Calc pour écrire des macros.

Ci-dessous le code de la macro HelloWorld , qui prescrit la phrase "Hello World!" dans la cellule "B7" en utilisant le langage de programmation intégré StarBasic.

Pour ajouter une nouvelle macro, ouvrez le menu Tools - Macros - Edit Macros... , sélectionnez Module1 et copiez le texte suivant dans le module :

Sub HelloWorld
    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    
    'REM "doc" it's a current LO Calc workbook (active worksheet)
    doc = CreateScriptService("Calc")
    doc.SetValue("B7", "Hello World!")
End Sub

Ensuite, fermez Macro Editor, revenez dans LibreOffice Calc et exécutez notre nouvelle macro via le menu Tools - Macros - Run Macro...

Dossier Python

Avant d'écrire une macro sur Python, nous devons d'abord créer un fichier *.py (myPyScripts.py) dans le dossier suivant :

%APPDATA%\LibreOffice\4\user\scripts\python

Si les dossiers scripts et python manquants, vous devez les créer manuellement.

Python Code pour HelloPython

Ci-dessous se trouve le script Python pour la macro HelloPython , qui prescrit la phrase "Hello Python!" dans la cellule "B8" dans le programme LibreOffice Calc.

Pour ajouter une nouvelle macro, ouvrez le fichier myPyScripts.py au moyen de 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-le Notepad++ et revenez à LibreOffice Calc. Pour confondre ce script, ouvrez le menu Tools - Macros - Organise Macros - Python... , sélectionner "My Macros" , ouvrez le dossier "myPyScripts" et choisir HelloPython appuyez sur le bouton Run .

Notez que les macros données sur StarBasic sur Python utilisent la bibliothèque intégrée ScriptForge . Cette bibliothèque simplifie l'écriture de macros pour les utilisateurs finaux, en cachant toutes les fonctionnalités du système « sous le capot ».

Utiliser l'extension

Vous pouvez également utiliser un ensemble prêt à l'emploi fonctions et utilitaire écrit sur Python en installant l'extension YLC Utilities .

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