LibreOffice SymbolLibreOffice Symbol

Help ons, alstublieft!

officehelper-module

Om toegang te krijgen tot deze functie..

Open Extra - Macro's - LibreOfficeDev BASIC - Bewerken en selecteer de container Toepassing macro's.


officehelper-module start een LibreOfficeDev-proces dat een benoemde pijplijn met een willekeurige naam opent. officehelper koppelt IDE-gebaseerde Python-scripts aan een draaiende LibreOfficeDev-instantie voor debugdoeleinden.

Methodes

Lijst van methodes in de officehelper-module

bootstrap

SessionManager


bootstrap

Opent een benoemde pijplijn met een willekeurige naam en gebruikt de lokale context om toegang te krijgen tot de pijplijn. Retourneert de context van de externe component, van waaruit u de ServiceManager kunt verkrijgen door getServiceManager() aan te roepen op het geretourneerde object.

Tippictogram

SessionManager is een geprefereerd alternatief voor de bootstrap-methode.


Syntaxis:

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

Parameters:

soffice: Een specifieke binaire kopie van LibreOfficeDev, zoals een draagbare of een ontwikkelingsversie.

delays: Hiermee kunt u meerdere verbindingspogingen specificeren. Standaard wordt er 1, 3, 5 of 7 seconden gewacht tussen de pogingen.

report: Optionele methodenaam die wordt gebruikt om verbindingsfouten te rapporteren of te loggen.

Voorbeeld:


      # Start LO als een dienst en verkrijg de context van de externe component.
      import officehelper
      ctx = officehelper.bootstrap()
      # Hier komt uw code.
      
      # request context multiples times and report processing in console
      import officehelper as oh
      ctx = oh.bootstrap(delays=(5,10,15,20),report=print)
      # Hier komt uw code.
      
      # Gebruik een specifieke binaire versie.
      from officehelper import bootstrap
      ctx = bootstrap(soffice=r"USB:\\PortableApps\\libO-7.6\\App\libreoffice\\program\\soffice.exe")
      # Hier komt uw code
    

Dergelijke willekeurig benoemde pijplijnen moeten uit het geheugen worden vrijgegeven zoals weergegeven:


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

SessionManager class

Opent een benoemde pijplijn met een willekeurige naam en gebruikt de lokale context om toegang te krijgen tot de pijplijn. Retourneert de context van de externe component, van waaruit u de ServiceManager kunt verkrijgen door de functie getServiceManager() aan te roepen op het geretourneerde object. Daarnaast geeft SessionManager geheugen vrij van het proces met de willekeurige naam LibreOfficeDev en rapporteert verbindingspogingen aan de console.

Syntaxis:

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

Parameters:

Voorbeeld:

soffice: Een specifieke binaire kopie van LibreOfficeDev, zoals een draagbare of een ontwikkelingsversie.

delays: Hiermee kunt u meerdere verbindingspogingen specificeren. Standaard wordt er 1, 3, 5 of 7 seconden gewacht tussen de pogingen.


      def my_script():
          # Hier komt de gebruikerscode
      
      g_exportedScripts = (my_script,)  # LibreOffice toegangspunten
      
      if __name__ == "__main__":  # toegangspunten tot IDEs
          from officehelper import SessionManager
          met SessionManager() als ctx:  # externe Python-context
              my_script()
    
Tippictogram

Gebruik de scriptforge.ScriptForge()-methode om IDE-gebaseerde Python-scripts te koppelen aan een permanente LibreOfficeDev-dienst die is gestart met de opdrachtregel.