LibreOffice SymbolLibreOffice Symbol

Supporter oss!

officehlelper modul

For å bruke denne funksjonen …

Åpne Verktøy - Makroer - LibreOfficeDev Basic - Rediger og velg beholderen Programmakroer.


officehelper-modulen starter en LibreOfficeDev-prosess som åpner en navngitt pipe med tilfeldig navn. officehelper binder IDE-baserte Python-skript til en kjørende LibreOfficeDev-instans for feilsøkingsformål.

Metoder

Liste over metoder i officehlelper-modulen

bootstrap

SessionManager


bootstrap

Åpner en navngitt pipe med tilfeldig navn, bruker den lokale konteksten for å få tilgang til pipen. Returnerer den eksterne komponentkonteksten, hvorfra du kan hente ServiceManager ved å kalle getServiceManager() på det returnerte objektet.

Tipsikon

SessionManager er et foretrukket alternativ til bootstrap-metoden.


Syntaks:

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

Parametre:

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

forsinkelser: Angir flere tilkoblingsforsøk. Standard er å sette 1, 3, 5 og 7 sekunder i dvale mellom nye forsøk.

rapport: Valgfritt metodenavn som brukes til å rapportere eller logge tilkoblingsfeil.

Eksempel:


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

Slike tilfeldige navngitte rør må frigjøres fra minnet som vist:


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

SessionManager class

Åpner en navngitt pipe med tilfeldig navn, bruker den lokale konteksten for å få tilgang til pipen. Returnerer den eksterne komponentkonteksten, hvorfra du kan hente ServiceManager ved å kalle getServiceManager() på det returnerte objektet. I tillegg frigjør SessionManager minne fra den tilfeldig navngitte LibreOfficeDev-prosessen og rapporterer tilkoblingsforsøk til konsollen.

Syntaks:

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

Parametre:

Eksempel:

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

forsinkelser: Angir flere tilkoblingsforsøk. Standard er å sette 1, 3, 5 og 7 sekunder i dvale mellom nye forsøk.


      def my_script():
          # brukerkode plasseres her
      g_exportedScripts = (mitt_skript,) # LibreOffice-inngangspunkter
      hvis __name__ == "__main__": # inngangspunkt for IDE-er
          from officehelper import SessionManager
          med SessionManager() som ctx: # ekstern Python-kontekst
              my_script()
    
Tipsikon

Bruk metoden scriptforge.ScriptForge() for å binde IDE-baserte Python-skript til en permanent tjeneste i LibreOfficeDev som startes med kommandolinjen.