Podpořte nás!

officehelper modul

Pro přístup k tomuto příkazu...

Open Tools - Macros - LibreOfficeDev Basic - Edit and select Application Macros container.


Modul officehelper spouští proces LibreOfficeDev a otevírá pojmenovaný kanál s náhodným názvem. officehelper váže skripty Pythonu založené na IDE ke spuštěné instanci LibreOfficeDev za účelem ladění.

Metody

Seynam emtod v modulu officehelper

bootstrap

SessionManager


bootstrap

Otevře pojmenovanou rouru náhodného jména, k přístupu k rouře použije místní kontext. Vrátí kontext vzdálené součásti, odkud můžete získat ServiceManager voláním getServiceManager() na vrácený objekt.

Ikona tipu

SessionManager je doporučená alternativa k metodě bootstrap.


Syntaxe:

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

Parametry:

soffice: Konkrétní binární kopie LibreOfficeDev, například přenosná nebo vývojová verze.

delays: Určuje více pokusů o připojení. Výchozí nastavení je uspání na 1, 3, 5 a 7 sekund mezi pokusy.

report: Volitelný název metody používaný k hlášení nebo protokolování selhání připojení.

Příklad:


      # Spuštění LO jako služby a získání kontextu její vzdálené komponenty
      import officehelper
      ctx = officehelper.bootstrap()
      # váš kód patří sem
      # request context multiples times and report processing in console
      import officehelper as oh
      ctx = oh.bootstrap(delays=(5,10,15,20),report=print)
      # váš kód patří sem
      # Použijte konkrétní binární verzi
      from officehelper import bootstrap
      ctx = bootstrap(soffice=r"USB:\\PortableApps\\libO-7.6\\App\libreoffice\\program\\soffice.exe")
      # váš kód patří sem
    

Takové náhodně uspořádané pojmenované kanály je třeba uvolnit z paměti, jak je znázorněno:


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

SessionManager class

Otevře pojmenovaný kanál s náhodným názvem a pro přístup k němu použije lokální kontext. Vrací kontext vzdálené komponenty, ze kterého lze získat ServiceManager voláním getServiceManager() na vráceném objektu. Kromě toho SessionManager uvolní paměť z náhodně pojmenovaného procesu LibreOfficeDev a hlásí pokusy o připojení do konzole.

Syntaxe:

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

Parametry:

Příklad:

soffice: Konkrétní binární kopie LibreOfficeDev, například přenosná nebo vývojová verze.

delays: Určuje více pokusů o připojení. Výchozí nastavení je uspání na 1, 3, 5 a 7 sekund mezi pokusy.


      def my_script():
          # zde patří uživatelský kód
      g_exportedScripts = (my_script,)  # vstupní body LibreOffice
      if __name__ == "__main__":  # vstupní bod pro IDE
          from officehelper import SessionManager
          with SessionManager() as ctx:  # vzdálený kontext Pythonu
              my_script()
    
Ikona tipu

Použijte metodu scriptforge.ScriptForge() pro navázání skriptů Pythonu založených na IDE na trvalou službu LibreOfficeDev spuštěnou z příkazového řádku.