LibreOffice SymbolLibreOffice Symbol

Støtt oss!

officehelper modul

For å bruka denne funksjonen …

Opna Verktøy → Makroar → LibreOfficeDev Basic → Rediger og vel Programmakroar.


officehelper-modulen byrjar ein LibreOfficeDev-prosess som opnar ein namngjeve dataleidning med tilfeldig namn. officehelper bind IDE-baserte Python-skript til ein køyrande LibreOfficeDev-instans for feilsøkingsføremål.

Metodar

Liste over metodar i officehlelper-modulen

bootstrap

SessionManager


bootstrap

Opnar ein namngjeve dataleidning med tilfeldig namn, brukar den lokale samanhangen for å få tilgang til dataleidningen. Returnerer den eksterne komponentsamanhangen der du kan henta ServiceManager ved å kala oppe getServiceManager() på det returnerte objektet.

Tipsikon

SessionManager er eit betre alternativ til bootstrap-metoden.


Syntaks:

bootstrap(soffice: str, delays=(1,3,5,7), report: str): uno

Parametrar:

soffice: Ein spesifikk binærkopi av LibreOfficeDev, for eksempel ein portabel versjon eller ein utviklingsversjon.

forseinkingar: Spesifiserer fleire tilkoblingsforsøk. Standard er å setja 1, 3, 5 eller 7 sekund i dvale mellom nye forsøk.

rapport: Valfritt metodenamn som vert brukt for å rapportera eller loggføra tilkoplingsfeil.

Eksempel:


      # Start LO som ei teneste, hent hennar eksterne komponentsamanhang
      import officehelper
      ctx = officehelper.bootstrap()
      # sett koden din her
      
      # request context multiples times and report processing in console
      import officehelper as oh
      ctx = oh.bootstrap(delays=(5,10,15,20),report=print)
      # sett koden din her
      
      # Bruk ein spesifikk binærversjon
      from officehelper import bootstrap
      ctx = bootstrap(soffice=r"USB:\\PortableApps\\libO-7.6\\App\libreoffice\\program\\soffice.exe")
      # sett koden din her
    

Slike tilfeldige dataleidningar må frigjerast frå minnet som vist:


      # named pipe memory cleanup
      smgr = ctx.getServiceManager()
      desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx)
      desktop.terminate()
    

SessionManager class

Opnar ein namngjeven dataleidning med tilfeldig namn og brukar den lokale samanhangen for å få tilgang til dataleidningen. Returnerer den eksterne komponentsamanhangen som du kan henta ServiceManager frå ved å kalla opp getServiceManager() på det returnerte objektet. I tillegg frigjer SessionManager minne frå den tilfeldig namngjevne LibreOfficeDev-prosessen og rapporterer tilkoplingsforsøk til konsollen.

Syntaks:

SessionManager(soffice: str, delays=(1,3,5,7)): uno

Parametrar:

Eksempel:

soffice: Ein spesifikk binærkopi av LibreOfficeDev, for eksempel ein portabel versjon eller ein utviklingsversjon.

forseinkingar: Spesifiserer fleire tilkoblingsforsøk. Standard er å setja 1, 3, 5 eller 7 sekund i dvale mellom nye forsøk.


      def my_script():
          # her kjem brujarkoden din
      
      g_exportedScripts = (skriptet_mitt,) # LibreOffice-inngangspunkt
      
      if __name__ == "__main__":  # inngangsounkt for IDE-ar
          from officehelper import SessionManager
          med SessionManager() som ctx: # ekstern Python-samanhang
              my_script()
    
Tipsikon

Bruk metoden scriptforge.ScriptForge() for å binda IDE-baserte Python-skript til ei permanent teneste i LibreOfficeDev som vert starta med kommandolinja.