Bibliotecas ScriptForge

Conteúdo
Índice 🔎︎

# A Biblioteca ScriptForge

Para acessar este comando...

Abra Ferramentas - Macros - LibreOffice Basic - Editar e selecione Macros do LibreOffice.

As bibliotecas ScriptForge criam uma coleção extensível de recursos de script de macro para oLibreOffice para serem chamados de macros Basic ou scripts Python.

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService

Para saber mais sobre como criar e executar scripts Python usando a biblioteca ScriptForge, consulte a página Criando Scripts Python com o ScriptForge.

Os módulos e classes descritos são chamados pelos scripts de usuário como "Serviços". Um construtor genérico desses serviços foi projetado para essa finalidade para cada idioma:

          GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
          Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])

          from scriptforge import CreateScriptService
          svc = CreateScriptService('servicename'[, arg0, arg1, ...])

A biblioteca Basic do ScriptForge está disponível a partir do LibreOffice 7.1.
O módulo Python scriptforge está disponível a partir do LibreOffice 7.2.

## Serviços disponibilizados pela biblioteca ScriptForge

Categoria | Serviços |
LibreOffice Basic | Array Dictionary Exception | FileSystem String TextStream
Conteúdo do documento | Base Calc | Database Document
Interface de usuário | Dialog DialogControl UI | Form FormControl
Utilitários | Basic L10N Platform | Services Session Timer

## Serviço ScriptForge.Array

Fornece uma coleção de métodos para manipular e transformar arrays de uma dimensão (vetores) e arrays de duas dimensões (matrizes). Inclui operações de conjuntos, ordenação, importação e exportação de arquivos texto.

Arrays com mais de duas dimensões não podem ser usados em métodos deste serviço, com a única exceção do método CountDims que aceita arrays com qualquer número de dimensões.

## Serviço SFDocuments.Base

O serviço Base oferece vários métodos e propriedades para facilitar o gerenciamento e o manuseio de documentos do LibreOffice Base.

Este serviço está intimamente relacionado ao serviço Document, que fornece métodos genéricos para lidar com documentos do LibreOffice, incluindo documentos Base. Portanto, o serviço Base estende o serviço Document e fornece métodos adicionais que são específicos para documentos Base, permitindo aos usuários:

- Obter acesso ao banco de dados contido num documento Base.

- Abrir documentos de formulário armazenados num documento Base.

- Verificar se um documento de formulário de um documento Base está carregado no momento.

Este serviço está disponível a partir do LibreOffice 7.2 em diante.

## Serviço ScriptForge.Basic

O serviço ScriptForge.Basic propõe uma coleção de métodos LibreOffice Basic a serem executados em um contexto Python. Os métodos de serviço Basic reproduzem a sintaxe e o comportamento exatos das funções integradas do Basic.

Este serviço está disponível a partir do LibreOffice 7.2 em diante.

## Serviço SFDocuments.Calc

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

Alguns métodos são genéricos para todos os tipos de documentos e são herdados do serviço Document, enquanto outros métodos são específicos do módulo SF_Calc.

O módulo SF_Calc tem como foco:

- Manusear planilhas em um documento Calc (copiar, inserir, mover, etc)

- Trocar dados entre estruturas de dados Basic e células no Calc

- Copiar e importar grandes quantidades de dados

## Serviço SFDatabases.Database

O serviço Database permite o acesso a bancos de dados embutidos ou descritos por documentos Base. Este serviço fornece métodos para:

- Obter acesso aos dados de tabelas em bancos de dados

- Realizar consultas SELECT e executar funções agregadas.

- Realizar ações baseadas em comandos SQL como INSERT, UPDATE, DELETE, etc.

## Serviço SFDialogs.Dialog

O serviço Dialog auxilia na gestão de caixas de diálogo criadas com o Editor de Diálogos Basic. Cada instância desta classe representa uma caixa de diálogo única apresentada ao usuário.

## Serviço SFDialogs.DialogControl

O serviço DialogControl gerencia os controles pertencentes a caixas de diálogo criadas com o Editor de Diálogos do Basic. Cada instância deste serviço representa um único controle em uma caixa de diálogo.

O foco deste serviço está na obtenção e definição de valores apresentados pelos controles de uma caixa de diálogo. A formatação é acessível por meio das propriedades XControlModel e XControlView.

Note que o conteúdo da propriedade DialogControl.Value varia de acordo com o tipo do controle.

Atenção especial é dada aos controles do tipo Árvore. É fácil povoar uma árvore, tanto ramo a ramo como diversos ramos de uma única vez. Inserir itens em um controle do tipo Árvore pode ser feito tanto de maneira estática como dinâmica.

## Serviço ScriptForge.Dictionary

Um dicionário é uma coleção de pares de chaves-itens.

- Uma chave é uma string não sensível ao caso.

- Itens podem ser de qualquer tipo.

## Serviço SFDocuments.Document

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

Métodos aplicáveis a todos os tipos de documentos (documentos de texto, planilhas, apresentações, etc.) são disponibilizados pelo serviço SFDocuments.Document. Alguns exemplos são:

- Abrir, fechar e salvar documentos

- Acessar propriedades padrão e customizadas dos documentos

## Serviço ScriptForge.Exception

O serviço Exception fornece uma coleção de métodos que ajudam a depurar scripts em Basic e Python e também auxiliam na manipulação de exceções em scripts escritos em Basic.

Em scripts Basic, quando um erro de em tempo de execução ocorre, os métodos e propriedades do serviço Exception ajudam a identificar o contexto do erro e ajudam na sua manipulação.

## Serviço ScriptForge.FileSystem

O serviço FileSystem inclui rotinas para manusear arquivos e pastas. A seguir estão alguns exemplos do que pode ser feito com este serviço:

- Verificar se um arquivo existe ou não.

- Criar e apagar pastas e arquivos.

- Abrir caixas de diálogo para abrir/salvar arquivos.

- Acessar a lista de arquivos e pastas, etc.

## Serviço SFDocuments.Form

O serviço Form fornece métodos e propriedades para gerenciar formulários em documentos do LibreOffice. Este serviço suporta formulários de documentos Base, Calc e Writer e permite:

- Abrir e ativar formulários.

- Navegar pelos registros mostrados no formulário.

- Acessar os controles do formulário.

- Acessar os subformulários de um formulário pai.

## Serviço SFDocuments.FormControl

O serviço FormControl provê acesso aos controles que pertencem a um formulário, subformulário ou controle de tabela de um FormDocument. Cada instância do serviço FormControl se refere a um único controle no formulário. Este serviço permite:

- Obter e definir as propriedades do controle representado pela instância FormControl.

- Acessa o valor atual mostrado pelo controle.

- Coloca o foco no controle desejado.

## Serviço ScriptForge.L10N

Este serviço fornece diversos métodos relacionados à tradução de Strings com impacto mínimo no código fonte do programa. Os métodos disponibilizados pelo serviço L10N podem ser usados para:

- Criar arquivos POT que podem ser usados como modelos para tradução de todas as strings de um programa.

- Buscar Strings traduzidas durante a execução para o idioma definido na propriedade Locale.

## Serviço ScriptForge.Platform

O serviço Platform fornece um conjunto de propriedades sobre o ambiente de execução atual e seu contexto, incluindo:

- A plataforma de hardware (arquitetura, contagem de núcleos do CPU, tipo de máquina, etc)

- Informações sobre o sistema operacional (Tipo do sistema, lançamento, versão, etc)

- A versão do LibreOffice

- Nome de usuário atual

## Serviço ScriptForge.Services

A biblioteca ScriptForge é construída com uma coleção extensível de Serviços.
Esta coleção é implementada como categorias de bibliotecas Basic ou módulos Python.

1. a biblioteca ScriptForge padrão fornecida com o LibreOffice

2. uma variedade de bibliotecas "associadas" que também são fornecidas com o LibreOffice

3. qualquer extensão do LibreOffice feita por usuários/contribuidores que desejam se encaixar no mesmo framework.

## Serviço ScriptForge.Session

O serviço Session reúne diversos métodos de propósito geral sobre:

- A instalação ou ambiente de execução

- Introspecção UNO

- A invocação de scripts externos ou programas

## Serviço ScriptForge.String

O serviço String fornece um conjunto de métodos para processamento de Strings. Tais métodos podem ser usados para:

- Validar os conteúdos das Strings.

- Formatar, aparar, justificar e inserir quebras automáticas em Strings

- Usar expressões regulares para buscar e substituir sub-strings.

- Aplicar algoritmos de hash em strings, etc.

## Serviço ScriptForge.TextStream

O serviço TextStream é usado para ler e escrever sequencialmente de/para arquivos abertos usando o serviço ScriptForge.FileSystem service.

Os métodos OpenTextFile e CreateTextFile do serviço FileSystem retornam uma instância do serviço TextStream.

## Serviço ScriptForge.Timer

O serviço Timer mede o tempo para executar scripts de usuário.

Um Timer mede durações. Ele pode ser:

- Iniciado, para indicar quando a medição do tempo teve início.

- Suspenso, para pausar a medição do tempo de execução.

- Retomado, para continuar a medição do tempo de execução após a suspensão do Timer.

- Reiniciado, o que cancelará medições anteriores e inicializará o Timer em zero.

## Serviço ScriptForge.UI

O serviço UI (do inglês, User Interface - Interface de Usuário) simplifica a identificação e manipulação das diferentes janelas que compõem toda a aplicação do LibreOffice:

- Seleção de janelas

- Redimensionamento e movimentação de janelas

- Ajustes da barra de status

- Apresentação de uma barra de progresso flutuante

- Criação de novas janelas

- Acesso aos documentos

Nota: Outros módulos do ScriptForge não descritos aqui são reservados para uso interno. Seu conteúdo está sujeito a mudanças sem aviso prévio.

Todas as rotinas básicas ou identificadores do ScriptForge que possuem o caractere "_" como prefixo são reservados apenas para uso interno. Elas não devem ser usadas em macros Basic.