Serviço SFDocuments.Writer

A biblioteca compartilhada SFDocuments fornece diversos métodos e propriedades que facilitam a gestão e manuseio de documentos do LibreOffice.

Alguns métodos são genéricos para todos os tipos de documentos e são herdados do módulo SF_Document, enquanto outros métodos que são específicos para documentos do Writer são definidos no módulo SF_Writer.

O módulo SF_Writer tem como foco:

Invocação do serviço

O serviço Writer se relaciona com o serviço UI da biblioteca ScriptForge. Abaixo estão alguns exemplos de como o serviço Writer pode ser invocado:

Em Basic

O trecho de código abaixo cria uma instância do serviço Writer que corresponde ao documento Writer atualmente ativo.


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

Outra forma de criar uma instância do serviço Writer é usando o serviço UI. No exemplo a seguir um novo documento Writer é criado e oDoc representa a instância do serviço Writer:


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

Ou usando o método OpenDocument do serviço UI:


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

Também é possível instanciar o serviço Writer usando o método CreateScriptService:


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

No exemplo acima, "MyFile.odt" é o nome de uma janela de documento aberto. Se este argumento não for fornecido, a janela ativa é considerada.

É recomendado liberar recursos após o uso:


    Set oDoc = oDoc.Dispose()
  

Entretanto, se o documento foi fechado usando o método CloseDocument, não é necessário liberar recursos usando o comando descrito acima.

Em 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

O uso do prefixo "SFDocuments." ao chamar o serviço é opcional.


Definições

Propriedades

Métodos

Lista de Métodos no Serviço Writer

Forms

PrintOut



Forms

Dependendo dos parâmetros fornecidos este método retornará:

note

Este método é aplicável apenas a documentos do Writer. Documentos Calc e Base possuem sua própria implementação do método Forms nos serviços Calc e Base, respectivamente.


Sintaxe:

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

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

svc.Forms(form: int): svc

Parâmetros:

form: Nome ou índice correspondente a um formulário armazenado no documento. Se este argumento estiver ausente, o método retornará uma lista com os nomes de todos os formulários disponíveis no documento.

Exemplo:

Nos exemplos abaixo, a primeira linha obtém os nomes de todos os formulários do documento e a segunda linha recupera o objeto Form do formulário com nome "Form_A".

Em Basic

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

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

PrintOut

Send the contents of the document to the printer. The printer may be previously defined by default, by the user or by the SetPrinter method of the Document service. Returns True when successful.

Sintaxe:

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

Parâmetros:

pages: String contendo as páginas a serem impressas, da mesma forma como é feita a definição usando a interface do usuário. Por exemplo: "1-4;10;15-18". Caso este argumento seja omitido, todas as páginas serão impressas.

copies: Número de cópias. O padrão é 1.

printbackground: Imprime a imagem de fundo quando True (padrão).

printblankpages: Quando False (padrão), não imprime páginas em branco.

printevenpages: Imprime páginas pares quando True (padrão).

printoddpages: Imprime páginas ímpares quando True (padrão).

printimages: Imprime objetos gráficos quando True (padrão).

Exemplo:

Em Basic

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

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

Todas as rotinas ou identificadores do ScriptForge em Basic que possuem o caractere "_" como prefixo são reservadas para uso interno. Elas não devem ser usadas em macros escritas em Basic ou em Python.