TOP

Scriem o macrocomandă pe Python pentru LibreOffice Calc

Descriere

LibreOffice Calc permite utilizatorilor să-și creeze propriile macrocomenzi folosind limbajul de programare încorporat StarBasic. Acest limbaj este foarte asemănător cu VBA , cu toate acestea, are o funcționalitate limitată, deoarece este rar utilizat.

Limbajele de programare moderne, cum ar fi Python, oferă mult mai multe posibilități și au o gamă mai largă de biblioteci suplimentare pentru toate ocaziile.

Deci, haideți să învățăm cum vă puteți crea propriile macrocomenzi folosind un limbaj de programare atât de popular de astăzi ca Python.


Pachetul de programe de birou LibreOffice vă permite să vă creați propriile macrocomenzi în limbaje de programare terță parte precum Python, JavaScript, C++, Java.

StarBASIC Cod pentru HelloWorld

Mai întâi, să ne amintim cum vă puteți scrie propriul program folosind instrumentele standard LibreOffice Calc pentru scrierea macrocomenzilor.

Mai jos este codul pentru macro HelloWorld , care prescrie sintagma "Hello World!" în celulă "B7" folosind limbajul de programare încorporat StarBasic.

Pentru a adăuga o nouă macrocomandă, deschideți meniul Tools - Macros - Edit Macros... , selectați Module1 și copiați următorul text în modul:

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

Apoi, închideți Macro Editor, reveniți la LibreOffice Calc și rulați noua noastră macrocomandă prin meniu Tools - Macros - Run Macro...

Folder Python

Înainte de a scrie o macrocomandă pe Python, trebuie să creăm mai întâi un fișier *.py (myPyScripts.py) în următorul folder:

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

Dacă folderele scenarii şi piton lipsesc, trebuie să le creați manual.

Python Cod pentru HelloPython

Mai jos este scriptul Python pentru macrocomandă HelloPython , care prescrie sintagma "Hello Python!" în celulă "B8" în programul LibreOffice Calc.

Pentru a adăuga o nouă macrocomandă, deschideți fișierul myPyScripts.py prin intermediul Notepad++ (sau Windows Notepad) și copiați acolo următorul text:

from scriptforge import CreateScriptService

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

Apoi, închideți-l Notepad++ și reveniți la LibreOffice Calc. Pentru a încurca acest script, deschideți meniul Tools - Macros - Organise Macros - Python... , selectați "My Macros" , deschide folderul "myPyScripts" si alegerea HelloPython apăsați butonul Run .

Rețineți că macrocomenzile date pe StarBasic pe Python folosesc biblioteca încorporată ScriptForge . Această bibliotecă simplifică scrierea macrocomenzilor pentru utilizatorii finali, ascunzând toate funcționalitățile sistemului „sub capotă”.

Folosind extensia

Puteți folosi și un set gata făcut funcții şi utilitate scris pe Python prin instalarea extensiei YLC Utilities .

După aceea, această funcționalitate va fi disponibilă în toate fișierele care vor fi deschise în LibreOffice Calc.