Service SFDocuments.Writer

La bibliothèque partagée SFDocuments fournit un certain nombre de méthodes et de propriétés pour faciliter la gestion et la manipulation des documents LibreOffice.

Certaines méthodes sont génériques pour tous les types de documents et sont héritées du module SF_Document, tandis que d'autres méthodes spécifiques aux documents Writer sont définies dans le module SF_Writer.

Invocation du service

Avant d'utiliser le service Writer, la bibliothèque ScriptForge doit être chargée ou importée :

note

• Les macros Basic nécessitent de charger la bibliothèque ScriptForge à l'aide de l'instruction suivante :
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Les scripts Python nécessitent un import depuis le module scriptforge :
from scriptforge import CreateScriptService


Le service Writer est étroitement lié au service UI de la bibliothèque ScriptForge. Vous trouverez ci-dessous quelques exemples de la manière dont le service Writer peut être appelé.

En Basic :

L'extrait de code ci-dessous crée une instance de service Writer qui correspond au document Writer actuellement actif.


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "Untitled 1") ' Default = ActiveWindow
  

Une autre façon de créer une instance du service Writer consiste à utiliser le service UI. Dans l'exemple suivant, un nouveau document Writer est créé et oDoc est une instance de service Writer :


    Dim ui As Object, oDoc As Object
    Set ui = CreateScriptService("UI")
    Set oDoc = ui.CreateDocument("Writer")
  

Ou en utilisant la méthode OpenDocument du service UI :


    Set oDoc = ui.OpenDocument("C:\Me\MyFile.odt")
  

Il est également possible d'instancier le service Writer à l'aide de la méthode CreateScriptService :


    Dim oDoc As Object
    Set oDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
  

Dans l'exemple ci-dessus, "MyFile.odt" est le nom d'une fenêtre de document ouverte. Si cet argument n'est pas fourni, la fenêtre active est considérée.

Il est recommandé de libérer des ressources après utilisation :


    Set oDoc = oDoc.Dispose()
  

Cependant, si le document a été fermé à l'aide de la méthode CloseDocument, il devient inutile de libérer des ressources à l'aide de la commande décrite ci-dessus.

En Python

    myDoc = CreateScriptService("Writer") ' Default = ActiveWindow
  

    ui = CreateScriptService("UI")
    myDoc = ui.CreateDocument("Writer")
  

    myDoc = ui.OpenDocument(r"C:\Documents\MyFile.odt")
  

    myDoc = CreateScriptService("SFDocuments.Writer", "MyFile.odt")
    myDoc.Dispose()
  
tip

L'utilisation du préfixe "SFDocuments." lors de l'appel du service est facultative.


Définitions

Propriétés

Méthodes

Liste des méthodes dans le service Writer

Forms

PrintOut



Forms

En fonction des paramètres fournis, cette méthode renverra :

note

Cette méthode s'applique uniquement aux documents Writer. Les documents Calc et Base ont leur propre méthode Forms dans les services Calc et Base, respectivement.


Syntaxe :

svc.Forms(): str[0..*]

svc.Forms(form: str = ''): svc

svc.Forms(form: int): svc

Paramètres :

form : le nom ou l'index correspondant à un formulaire stocké dans le document. Si cet argument est absent, la méthode renverra une liste avec les noms de tous les formulaires disponibles dans le document.

Exemple :

Dans les exemples suivants, la première ligne récupère les noms de tous les formulaires du document et la deuxième ligne récupère l'objet Form du formulaire nommé "Form_A".

En Basic :

    Set FormNames = oDoc.Forms()
    Set FormA = oDoc.Forms("Form_A")
  
En Python

    form_names = doc.Forms()
    form_A = doc.Forms("Form_A")
  

PrintOut

Envoyer le contenu du document à l'imprimante. L'imprimante peut être préalablement définie par défaut, par l'utilisateur ou par la méthode SetPrinter du service Document. Renvoie True en cas de succès.

Syntaxe :

svc.PrintOut(opt pages: str = "", opt copies: num = 1, opt printbackground: bool = True, opt printblankpages: bool = False, opt printevenpages: bool = True, opt printoddpages: bool = True, opt printimages: bool = True): bool

Paramètres :

pages : les pages à imprimer sous forme de chaîne, comme dans l'interface utilisateur. Exemple : "1-4;10;15-18". Par défaut = toutes les pages

copies : le nombre de copies. La valeur par défaut est 1.

printbackground : Imprime l'image d'arrière-plan lorsque True (par défaut).

printblankpages : lorsque False (par défaut), omet les pages vides.

printevenpages : imprime les pages paires lorsque True (par défaut).

printoddpages : imprime les pages impaires lorsque True (par défaut).

printimages : imprime les objets graphiques lorsque True (par défaut).

Exemple :

En Basic :

      oDoc.PrintOut("1-4;10;15-18", Copies := 2, PrintImages := False)
  
En Python

    doc.PrintOut(printblankpages = True, copies = 3)
  
warning

Toutes les routines ou identifiants de base ScriptForge qui sont préfixés par un caractère de soulignement "_" sont réservés à un usage interne. Ils ne sont pas destinés à être utilisés dans des macros de base ou des scripts Python.


Aidez-nous !