Collabora Office 24.04 laguntza
ScriptForge liburutegia Basic zein Python lehgoaietarako dago erabilgarri. Zerbitzu, metodo eta propietate gehienek berdin funtzionatzen dute bietan. Hala ere, lengoaia bakoitzak nola funtzionatzen duen desberdina izanda, ScriptForge erabiltzaileek liburutegiaren zenbait ezaugarri kontuan izan beharko dituzte Python erabiltzean:
Metodoen eta propietateen izenak: Python lengoaian, metdodo eta propietate guztiak minuskuletan, ProperCase formatuan edo camelCase formatuan erabili daitezke.
Argumentuak: Metodoei pasatutako gako-hitz argumentuak minuskuletan doaz.
Datak: Data-objektu guztiak jatorrizko datetime.datetime Python objektu modura pasatzen eta itzultzen dira.
Matrizeak: Dimentsio bakarreko matrizeak tupla modura (objektu aldaezinak dira) pasatzen eta itzultzen dira. Bi dimentsiotako matrizeak tuplen tupla modura pasatzen eta itzultzen dira.
None: Python lengoaiaren None gako-hitza Basic lengoaiaren Null, Empty edo Nothing gako-hitzen baliokidea da.
UNO objektuak: UNO egitura guztiak aldaketarik gabe trukatzen dira Basic eta Python artean.
Arazketa: ScriptForge darabilten Python scriptetan errore bat gertatzen denean, Python exekuzio-pilak eskaintzen duen errore-mezuak errorea abiarazi duen kode-lerroa bistaratzen du. Basic lengoaian, errore-mezuak ez du informazio hori eskaintzen.
Begiratu Collabora Office Python scripten laguntza Collabora Office baitan Python scriptak nola sortu eta erabili ikasteko.
Lortu nahi denaren arabera, Python scriptak Collabora Office aplikazioan erabiltzeko modu desberdinak daude:
Scriptak uneko Collabora Office prozesuaren barruan exekutatzea: Python scriptak Collabora Office prozesuaren barruan exekutatzeko, erabili menua edo APSO hedapena Python scripten karpetan gordetako erabiltzaile-scriptei deitzeko. APSO Python kontsola ere erabili daiteke Python scriptak modu interaktiboan exekutatzeko.
Scriptak Collabora Office prozesutik bereizita exekutatzea: Python scriptak abian dagoen Collabora Office prozesu batekin konektatzen duen kanpoko prozesu batetik exekutatuko dira socket baten bidez.
Scriptak Collabora Office prozesuaren barruan exekutatuko badira, gomendagarria da APSO (Alternative Script Organizer for Python) hedapena instalatzea. Python scriptak Collabora Office kanpoan garatu nahi badira, hala ere, nahi den Python IDEa aukeratu daiteke.
Collabora Office barruan Python erabiltzen hasteko biderik errazena APSO hedapen instalatzea da. Hura instalatu ondoren, ireki edozein Collabora Office osagai eta joan
aukerara.APSOren leiho nagusian, joan
aukerara.APSO irekitzeko beste modu bat Alt + ⇧ + F11 lasterbidea erabiltzea da.
Orain, Python komandoak idazten hasi daiteke eta shell-ak komando bakoitzari dagokion irteera inprimatuko du kode-lerro bakoitza exekutatu ondoren.
ScriptForge liburutegia erabiltzen hasteko, lehenengo CreateScriptService metodoa inportatu behar da. Horren bidez, liburutegiak eskaintzen dituen zerbitzuak atzitu daitezke. Beheko adibideak Basic zerbitzua darabil mezu-koadro bat bistaratzeko.
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello!")
Goiko adibidea exekutatzeko, sartu lerro bakoitza Python kontsolan, banan-banan, kode-lerro bakoitza idatzi ondoren ⏎ tekla sakatuta.
Orain, Python komandoak exekutatzen hasi zaitezke ScriptForge zerbitzuak erabilita. Adibidez, beheko kode-zatiak UI zerbitzua darabil Writer dokumentu hutsa sortzeko.
ui = CreateScriptService("UI")
doc = ui.CreateDocument("Writer")
Python fitxategi propioak sortu eta editatu ditzakezu testu-editore bat erabilita. Ondoren, edozein Collabora Office osagaitik deitu ahal izango dituzu.
Lehen urratsa da jakitea non gordetzen diren erabiltzaile-scriptak. Horretarako, begiratu Python scripten antolaketa eta kokalekua laguntza-orria.
Orain, testu-fitxategi bat sortu dezakezu zure Python erabiltzaile-scripten karpetan, adibidez sf_test.py, eta scripta idazten hasi.
Behean, Calc gelaxka baten zenbakizko balioa eskuratzen duen eta 1 gehitzen dion adibideko script sotil bat dago. Idatzi kode hori sf_test.py fitxategian.
from scriptforge import CreateScriptService
doc = CreateScriptService("Calc")
def increment_cell(args=None):
value = doc.GetValue("A1")
value += 1
doc.SetValue("A1", value)
g_exportedScripts = (increment_cell, )
Adibide horrek increment_cell funtzioa sortzen du. Kontuan izan g_exportedScripts tupla bat dela eta Collabora Office aplikazioan erabiltzaile-script modura bistaratuko diren funtzioak adierazten dituela.
Script hau Calc dokumentu baten barrutik exekutatzeko:
Sortu edo ireki Calc fitxategi bat.
Sartu zenbaki bat uneko orriko "A1" gelaxkan.
Joan
aukerara.Aukeratu 'Nire makroak - sf_test' liburutegi-hautatzailean. Ondoren, aukeratu increment_cell funtzioa.
zerrendan ageri denSakatu Exekutatu. Begiratu nola "A1" gelaxkako balioari 1 gehitu zaion.
APSO ere erabili daiteke Python scriptak antzera exekutatzeko:
Lehenengo, ireki APSO
erabilita.Makroen zerrendan, joan
aukerara.Sakatu
.Scriptak prozesu bereizi batetik exekutatzeko lehen urratsa Collabora Office zein karpetatan dagoen instalatuta aurkitzea da. Hori egiteko modu bat baino gehiago dago, baina ScriptForge liburutegiak zure instalazioaren bide-izena identifikatzeko modu azkarra eskaintzen du. Ireki APSOren Python kontsola eta idatzi:
from scriptforge import CreateScriptService
fs = CreateScriptService("FileSystem")
fs.FileNaming = "SYS"
inst_dir = fs.InstallFolder
print(inst_dir)
Goiko kodearen irteera Collabora Office instalatuta dagoen oinarri-direktorioa da. Orain, "program" azpikarpeta emaitza gisa lortutako bide-izen horri gehitu behar zaio. Hori da Python scriptak prozesu bereizi batetik exekutatzeko erabili behar den oinarri-karpeta.
Adibidez, demagun /usr/lib/libreoffice/ eskuratu dela goiko Python kodea exekutatu ondoren. Kasu horretan, /usr/lib/libreoffice/program erabili beharko da Python scriptak exekutatzeko bide-izen gisa.
Python scriptak prozesu bereizi batetik exekutatzeko, Collabora Office zenbait aukera gehigarrirekin abiarazi behar da, kanpoko prozesuak Collabora Office osagai-prozesuarekin komunikatzeko erabiliko dituen ostalari-izena eta ataka zehazteko.
Ireki sistema eragilearen komando-gonbita, joan Collabora Office instalazio-direktorioaren programa-karpetara eta idatzi:
./soffice --accept='socket,host=localhost,port=2021;urp;'
Goiko komandoak Collabora Office komunikazio-kanal bat irekita duela abiaraziko du, beste prozesu batzuk harekin mezuak trukatu ahal izan ditzaten.
Kontuan izan aurreko adibidean Collabora Office hasiera-zentroa irekiko dela. Osagai jakin bat ireki nahi izanez gero, adibidez Writer, '--writer' bandera gehitu behar zaio komandoari, honela:
./soffice --writer --accept='socket,host=localhost,port=2021;urp;'
Gogoratu host eta port parametroak, adibide honetan localhost eta 2021 direnak, hurrenez hurren.
Abiarazi Python kontsola zure Collabora Office instalazioaren bide-izenean dagoen program karpetatik. Jarraitu goiko urratsak zure instalazioaren bide-izena aurkitzeko.
Linux / Mac OS sistemetan:
$ cd /usr/lib/libreoffice/program
$ python
Windows sisteman:
$ cd C:\Program Files\LibreOffice\program\
$ python.exe
Horrek Python kontsola irekiko du, Collabora Office aplikazioak exekutatuko dituen komandoak idazten hasi ahal izateko. Hala ere, hori baino lehen socket-konexioa konfiguratu behar da.
from scriptforge import ScriptForge, CreateScriptService
ScriptForge(hostname='localhost', port=2021)
Read the section Setting PYTHONPATH below in case of errors importing scriptforge.py or uno.py.
Goiko kodearen bigarren lerroak host eta port ezarpenak definitzen ditu, Python kontsola socket-ezarpen berekin ireki den Collabora Office prozesuarekin komunikatu ahal dadin.
Orain beste Python komando batzuk exekutatu ahal dituzu, eta horiek Collabora Office prozesuarekin komunikatu ahal izango dira. Adibidez:
ui = CreateScriptService("UI")
bas = CreateScriptService("Basic")
doc = ui.OpenDocument("~/Documents/myFile.ods")
bas.MsgBox(doc.DocumentType)
Depending on your operating system's configuration you will need to set the environment variable PYTHONPATH in order to import the scriptforge.py library, which in turn requires importing the uno.py library.
Use your operating system's file search tool to determine the directory where both these files are located.
For instance, on a default Ubuntu installation both files may be located at:
scriptforge.py: Located in /usr/lib/libreoffice/program
uno.py: Located in /usr/lib/python3/dist-packages
In this case, set the environment variable PYTHONPATH as follows before starting the Python interpreter:
export PYTHONPATH=/usr/lib/libreoffice/program:/usr/lib/python3/dist-packages
The location of these files will be different for each operating system and Collabora Office installation method.