Servizio SFDocuments.Writer

La libreria condivisa SFDocuments fornisce una serie di metodi e proprietà che facilitano la gestione e il trattamento dei documenti LibreOffice.

Alcuni metodi sono generici per tutti i tipi di documenti e sono ereditati dal modulo SF_Document, altri metodi invece sono specifici per i documenti Writer e sono definiti nel modulo SF_Writer.

Invocazione del servizio

Prima di usare il servizio Writer è necessario caricare o importare le librerie ScriptForge:

note

• Le macro in Basic richiedono il caricamento della libreria ScriptForge usando la seguente istruzione:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Gli script in Python richiedono un'importazione dal modulo scriptforge:
from scriptforge import CreateScriptService


Il servizio Writer è strettamente collegato al servizio UI della libreria ScriptForge. Di seguito sono riportati alcuni esempi di come il servizio Writer può essere invocato.

In Basic

Il frammento di codice sottostante crea l'istanza a un servizio Writer che corrisponde al documento Writer attivo.


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

Un altro modo di creare un'istanza del servizio Writer è quello di usare il servizio UI. Nell'esempio seguente, viene creato un nuovo documento Writer e oDoc è un'istanza del servizio Writer:


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

Oppure usando il metodo OpenDocument del servizio UI:


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

È anche possibile istanziare il servizio Writer usando il metodo CreateScriptService:


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

Nell'esempio sopra riportato, "MyFile.ods" è il nome della finestra di apertura di un documento. Se questo argomento non è fornito, viene considerata la finestra attiva.

Si raccomanda di liberare le risorse dopo l'uso:


    Set oDoc = oDoc.Dispose()
  

Tuttavia, se il documento è stato chiuso usando il metodo CloseDocument, diventa superfluo liberare risorse con il comando descritto sopra.

In 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'uso del prefisso "SFDocuments." nella chiamata al servizio è opzionale.


Definizioni

Proprietà

Metodi

Elenco dei metodi del servizio Writer

Forms

PrintOut



Forms

A seconda dei parametri forniti, questo metodo restituirà:

note

Questo metodo è applicabile solo ai documenti di Writer. I documenti di Calc e Base dispongono di un proprio metodo Forms rispettivamente nei servizi Calc e Base.


Sintassi:

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

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

svc.Forms(form: int): svc

Parametri:

form: il nome o l'indice corrispondente a un formulario memorizzato nel documento. Se l'argomento è assente, il metodo restituirà un elenco con i nomi di tutti i formulari disponibili nel documento.

Esempio:

Negli esempi seguenti la prima riga ottiene il nome di tutti i formulari presenti nel documento e la seconda riga recupera l'oggetto Form del formulario chiamato "Form_A".

In Basic

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

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

PrintOut

Invia i contenuti del documento alla stampante. La stampante può essere impostata in precedenza come predefinita, dall'utente o dal metodo SetPrinter del servizio Document. Restituisce True se eseguito correttamente.

Sintassi:

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

Parametri:

pages: le pagine da stampare in formato stringa, come avviene nell'interfaccia utente. Esempio: "1-4;10;15-18". Predefinito = tutte le pagine

copies: il numero di copie, il valore predefinito è 1.

printbackground: se impostato su True (predefinito) stampa l'immagine di sfondo.

printblankpages: se è impostato su False (predefinito), omette le pagine bianche.

printevenpages: se impostato su True (predefinito) stampa le pagine pari.

printoddpages: se impostato su True (predefinito) stampa le pagine dispari.

printimages: se impostato su True (predefinito) stampa le immagini.

Esempio:

In Basic

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

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

Tutte le routine e gli identificatori Basic di ScriptForge che iniziano con un carattere di sottolineatura "_" sono riservati per uso interno. Non è previsto il loro utilizzo nelle macro in Basic o negli script in Python.


Sosteneteci!