Criando documentos de texto no BrOffice com macros e formulários
Introdução
Como forma de compartilhar a experiência acumulada no processo de criação de
formulários e macros do BrOffice.org, para confecção de documentos de comunicação
administrativa escrita utilizados pela CAIXA ECONÔMICA FEDERAL, elaboramos esta
cartilha técnica, que descreve cada etapa do processo de desenvolvimento.
O presente documento é destinado a pessoas e organizações interessadas em utilizar o
BrOffice, para criação de documentos padronizados e direcionado a usuários e
desenvolvedores com conhecimento básico na formatação de documentos com editor de
textos e na linguagem BASIC.
As etapas do desenvolvimento compreendem:
- A preparação do modelo, que consiste na confecção de um arquivo de texto que vai
servir de base para criar um novo documento;
- A criação do formulário e macro, que consiste em escrever a macro que vai interagir
com o usuário;
- E por fim, o empacotamento e instalação.
Como resultado teremos um suplemento do BrOffice que pode ser distribuído e instalado em
outras máquinas.
A seguir, detalhamos cada uma destas etapas.
2
Sumário
Introdução........................................................................................................................... 2
O modelo............................................................................................................................. 4
Estilos de página........................................................................................................................... 5
Estilos de parágrafo....................................................................................................................... 6
Estilos de lista................................................................................................................................ 7
Inserindo os favoritos.....................................................................................................................8
A macro............................................................................................................................. 12
Desenhando o formulário............................................................................................................ 13
Escrevendo a macro.................................................................................................................... 16
O Suplemento................................................................................................................... 23
Criando o suplemento..................................................................................................................23
Instalando o suplemento..............................................................................................................29
Leitura complementar...................................................................................................... 31
Developer's Guide....................................................................................................................... 31
Como distribuir suas macros com um addon.............................................................................. 31
http://www.broffice.org.br/macros
http://openoffice.org.br/files/addons1_1_pt_br.zip
Ferramenta Xray.......................................................................................................................... 31
Criando documentos de texto no BrOffice com macros e formulários
O modelo
O modelo é um documento de texto que é usado como base para se criar os novos
documentos.
Preparar o modelo consiste em formatar as margens, cabeçalhos, rodapés, fontes,
parágrafos e os favoritos (ou bookmarks).
Para criarmos o modelo, iniciamos o Writer com um novo documento em branco. O próximo
passo é efetuar a formatação do documento. Para tanto utilizaremos o recurso de estilos do
Writer.
Os estilos são manipulados pelo painel Estilos e formatação. O Writer divide os estilos em
categorias. Estilos de parágrafo, estilos de caractere, estilos de quadro, estilos de página, e
estilos de lista. (figura 2).
O acesso ao painel é feito pelo menu Formato, opção Estilos e formatação, ou pela tecla de
atalho F11. (figura 1)
Figura 1: Menu de acesso ao painel “Estilos e formatação”
4
Figura 2: Painel “Estilos e formatação”
Estilos de página
Figura 3: Diálogos de formatação de estilos de página
Criando documentos de texto no BrOffice com macros e formulários
O estilo de página controla, entre outras coisas, margens, tamanho do papel, cabeçalhos e
rodapés.
Cada novo documento possui naturalmente um estilo de página associado, nomeado de
padrão.
Em alguns documentos a primeira página possui características diferentes das demais. Para
essa formatação, é preciso aplicar um estilo diferente na primeira página.
No painel Estilos e formatação escolha a opção estilos de página, e efetue um duplo-clique
sobre o estilo existente Primeira página. Isso irá aplicar o estilo na página atual do
documento, ou seja, a página 1. Como dito antes, o estilo inicial é o estilo padrão.
O próximo passo é ajustar o estilo para refletir o formato do documento. No painel, clique
sobre o nome do estilo (botão direito) e selecione modificar. No diálogo estilo de página
(figura 3) ajuste o tamanho do papel, as margens, e se necessário, o cabeçalho e rodapé.
Observe na aba organizador que no campo próximo estilo o valor é "padrão". Isto significa
que o estilo padrão será aplicado às páginas subseqüentes do documento, quando o
documento tiver mais de uma página.
É necessário, portanto, formatar também o estilo padrão repetindo os passos anteriores.
Verifique que isso só se justifica quando a primeira página possui alguma formatação
diferente das demais.
Se o documento a ser criado possuir um formato único em todas as páginas, basta ajustar o
estilo padrão.
Próxima etapa, formatar os estilos de parágrafo.
Estilos de parágrafo
Figura 4: Diálogos de formatação de estilos de parágrafo
6
Finalizados os estilos de página, devemos formatar os estilos de parágrafo. Essa formatação inclui
principalmente a definição da fonte, do alinhamento do texto, do espaçamento entre parágrafos.
Crie ou modifique tantos estilos quantos forem necessários, de acordo com a complexidade do
seu documento.
No painel Estilos e formatação clique no ícone Estilos de parágrafo. Com um clique direito sobre
um estilo escolha Novo... ou Modificar..., para modificar um estilo ou criar um novo. No diálogo
Estilo de parágrafo (figura 4), faça os ajustes necessários.
Estilos normalmente necessários em um documento formatam os tópicos, assinaturas, vocativos,
endereços, cabeçalhos e rodapés.
Esta etapa compreende apenas a criação dos estilos. A aplicação dos mesmos se dará
posteriormente.
A próxima etapa é formatar os estilos de lista.
Estilos de lista
Os estilos de lista são usados para formatar as listas numeradas ou de marcadores. Por exemplo,
se o documento possuir tópicos numerados, é aqui que definimos o estilo de numeração. O
procedimento é idêntico a formatação dos estilos de página e de parágrafo.
Aqui configuramos o estilo dos números, espaçamento do texto, subníveis, entre outros.
Ao fim do processo, precisamos associar o estilo de numeração a um estilo de parágrafo.
Uma hipótese é termos criado um estilo de parágrafo chamado tópicos, para formatar os tópicos
do documento. E criamos um estilo de lista chamado numeração de tópicos para formatar a
numeração. Para associarmos os dois estilos, vamos ao diálogo estilos de parágrafo (figura 4),
para modificar o estilo tópicos e na aba Numeração selecionamos o estilo recém criado.
Feito isto, quando for ativada a numeração em um parágrafo de estilo tópicos, a numeração irá
seguir a formatação do estilo numeração de tópicos.
Além destes, temos também os estilos de caractere e de quadro, que não serão abordados nesta
cartilha.
O passo seguinte é preparar o documento, aplicando os estilos aos parágrafos e inserindo os
favoritos.
Inserindo os favoritos
Depois de formatar os estilos, passamos a etapa de aplicar os estilos ao documento, e inserir os
favoritos.
Os favoritos, também chamados de bookmarks, são marcas em pontos diversos do documento
que utilizaremos para inserção de texto através da macro. Os bookmarks devem ser
Criando documentos de texto no BrOffice com macros e formulários
estrategicamente posicionados de acordo com o documento que será criado.
Considerando um documento simples de exemplo como o da figura 5, teríamos o seguinte
cenário:
Figura 5: Documento de exemplo com os bookmarks (itens numerados)
●
ítem 1 - Neste ponto vai ficar o primeiro bookmark, que vamos chamar de
identificacao, para inclusão da identificação e número do documento;
●
ítem 2 - bookmark chamado local, para inclusão do local e data.
●
ítem 3 - bookmark destinatario;
●
ítem 4 - bookmark vocativo;
●
ítem 5 - bookmark texto;
●
ítem 6 - bookmark encerramento e
●
ítem 7 - bookmark assinatura.
A inclusão do bookmark é feita pelo menu Inserir, opção "Favoritos...". A inclusão no
8
documento ocorre na posição corrente do cursor, então precisamos posicionar o cursor na
posição desejada e acessar o menu, conforme figura 6.
Figura 6: Menu de acesso a inclusão de bookmarks
Após escolher a opção no menu, é exibido o diálogo de inclusão, onde informamos o nome do
bookmark a ser criado. Neste diálogo são listados os bookmarks existentes no documento. (figura
7).
Figura 7: Menu de acesso a inclusão de bookmarks
É preciso repetir esse processo para os 7 (sete) bookmarks do nosso exemplo.
Criando documentos de texto no BrOffice com macros e formulários
Observe que o bookmark incluído não aparece no documento, isto é, ele fica invisível. Mais
a frente veremos como verificar os bookmarks existentes e testar o seu funcionamento.
Após o término do procedimento, o documento estará como a figura 8. Como não é possível
visualizar o bookmark utilizamos a ferramenta navegador, disponível no menu Editar, opção
Navegador, ou pela tecla de atalho F5. Sob o ítem Marcadores (figura 9), podemos
visualizar os bookmark recém criados.
Figura 8: Documento após a criação dos bookmarks (indicados em verde)
Para verificar se os bookmark foram posicionados corretamente, efetuamos um duplo-clique
sobre o nome do bookmark no navegador (figura 9), o que faz com que o foco do cursor
mova-se para o bookmark selecionado.
Figura 9: Navegador, com destaque para os bookmarks (marcadores)
E para finalizar esta etapa precisamos salvar o documento no formato de um modelo do
Writer.
10
No menu Arquivo, opção Salvar como..., alteramos o tipo de arquivo de "Texto do OpenDocument
(.odt)" para "Modelo de texto do OpenDocument (.ott)".
O modelo salvo será usado na próxima etapa, que é a criação da macro.
A macro
Nesta etapa vamos escrever a macro e o formulário para interagir com o modelo que criamos.
Dentre as linguagens suportadas utilizaremos o StarBasic, visto que o Broffice possui um editor
integrado.
Acessamos o editor interno através do menu Ferramentas, opção Macros, Organizar macros,
BrOffice.org Basic...
No diálogo Macros do BrOffice.org Basic,vamos no botão Organizador. No diálogo Organizador
de Macros, vamos na aba Bibliotecas, e então escolhemos o botão "Nova...". A biblioteca permite
organizar nossas macros e formulários, fazendo um isolamento de outras macros. Vamos nomear
a nova biblioteca de minhaBiblioteca. (figura 10)
Figura 10: Sequência de diálogos para criar uma nova biblioteca
Ainda no diálogo Organizador de macros, vamos na aba Caixas de diálogo, selecionamos a
biblioteca criada no passo anterior e no botão "Novo..." criamos nosso formulário que vai se
chamar meuFormulario. (figura 11).
Criando documentos de texto no BrOffice com macros e formulários
Figura 11: Sequência de diálogos para criar um novo formulário
Por fim, na aba Módulos, botão "Novo...", criamos o módulo meuModulo.(figura 12).
Figura 12: Sequência de diálogos para criar um novo módulo
Agora podemos fechar os diálogos abertos e voltar ao editor.
Desenhando o formulário
Antes de escrever qualquer macro vamos preparar o formulário que fará a interação com o
usuário. Para isso, no editor de código, selecionamos a aba meuFormulario. Para montar o
diálogo temos a caixa de ferramentas, localizada no menu Exibir, opção Barra de
12
ferramentas. Através dessa barra, desenharemos o formulário incluindo os controles e ajustando
suas propriedades. A figura 13 mostra a caixa de ferramentas e o diálogo em si. Para incluirmos
controle no diálogo basta selecionar na caixa de ferramentas e desenhar diretamente no
formulário, similar a outros ambientes de desenvolvimento.
Na caixa de ferramentas, além dos controles comuns de texto, rótulo, botão de opção, caixa de
seleção, de listagem e de combinação, temos controles especializados para criar campos de data,
hora, moeda, número, seleção de arquivos, e outros. A figura 14, mostra a descrição de alguns
botões encontrados na barra de ferramentas.
Figura 13: Barra de ferramentas e o diálogo “meuFormulario”
No nosso formulário de exemplo, vamos utilizar os controles :
●
campo de rótulo: para criar as legendas dos campos;
●
caixa de texto: para entrada da cidade, destinatário e
assinatura do documento;
●
caixa de combinação: para selecionar a forma de
tratamento, a expressão de encerramento e o destinatário;
●
campo numérico: para entrada do número do documento;
●
campo de data: para seleção da data do documento no
calendário e;
●
botão: para os botões "Ok" e "Cancelar";
Figura 14: Descrição dos botões
Após a inclusão dos controles, nosso formulário, ou caixa de diálogo, deve estar como na figura
15.
Criando documentos de texto no BrOffice com macros e formulários
Figura 15: Formulário após inclusão dos controles
Cada tipo de controle possui propriedades particulares, que são usadas para configurar o
seu comportamento. Por exemplo, em um controle do tipo campo de data podemos definir a
data mínima e máxima permitidas, o formato da data, se vai estar disponível um calendário
para seleção de data, etc. Nas caixas de combinação devemos criar a lista com os valores,
como nos exemplos na figura 16.
Figura 16: Exemplo de valores para uso nos controles do formulário
Dentre as propriedades de cada controle, devemos dar atenção especial ao nome, pois a
referência ao controle na macro é feita pelo nome. Obedecendo a seqüência de campos da
figura 15, temos: txtNumero, txtData, txtCidade, cboDestinatario, txtDestinatario,
cboTratamento, cboEncerramento e txtAssinatura.
Este é o fim desta etapa. Nosso formulário está pronto.
Escrevendo a macro
Agora estamos prontos para escrever a macro. No editor, alternamos para o módulo criado
anteriormente: meuModulo.
14
O primeiro passo é declarar uma variável para referenciar o formulário. Embora a declaração de
variáveis não seja obrigatória no basic, precisamos que esta assuma o escopo global. Portanto ela
deve ser declarada fora de uma função ou subrotina no módulo.
Para declarar uma variável usamos a instrução "dim".
REM
*****
BASIC
*****
' Declaração
Dim dlg As Object
No próximo passo, vamos escrever a subrotina que carrega e mostra o formulário. Vamos utilizar
a subrotina Main que foi criada junto com o módulo.
Sub Main
DialogLibraries.LoadLibrary("minhaBiblioteca")
dlg = CreateUnoDialog(DialogLibraries.minhaBiblioteca.meuFormulario)
dlg.Execute()
End Sub
Nestas linhas, basicamente, carregamos a Biblioteca "minhaBiblioteca", para depois carregamos o
formulário através a função CreateUnoDialog e o atribuímos a variável dlg. Por fim, chamamos o
método Execute() do diálogo.
Executando essa porção de código o diálogo vai ser exibido, porém ainda não é funcional.
Precisamos escrever as rotinas que vão responder aos eventos de clique nos botões Cancelar e
Ok.
Vamos começar pelo botão Cancelar. O código é o seguinte:
Sub btnCancel_click
dlg.endExecute()
End
End Sub
Primeiro chamamos o método endExecute() do diálogo, que encerra sua execução. Depois
usamos a instrução End para finalizar a macro em si.
Por fim escrevemos a rotina btnOk_click que vai responder ao evento clique no botão OK.
Sub btnOk_click
End Sub
As etapas seguintes são :
Criando documentos de texto no BrOffice com macros e formulários
1. Armazenar os controles do diálogo em variáveis.
Fazemos isso com o método getControl() do diálogo.
Sub btnOk_click
txtNumero = dlg.getControl("txtNumero")
End Sub
Este código armazena o campo txtNumero na variável de mesmo nome. Fazemos isso para
todos os campos do formulário.
2. Validar o preenchimento do formulário, verificando se os campos foram corretamente
preenchidos.
If txtNumero.Text = "" Then
MsgBox "Informe o número do documento.", 48, "Atenção"
txtNumero.SetFocus()
Exit Sub
End If
Neste trecho de código verificamos apenas se o campo txtNumero está vazio, através da
propriedade Text. Caso não esteja preenchido emitimos uma mensagem ao usuário,
movemos o foco para o controle e interrompemos a execução da rotina. Ou seja, enquanto o
campo não for preenchido a macro não será executada. Fazemos isso para os campos que
forem obrigatórios. Além da validação de preenchimento, podemos fazer qualquer outro tipo
de validação aqui.
3. Criar o documento.
Dim doc, url, args()
url = ConvertToURL("c:\meuModelo.ott")
doc = StarDesktop.loadComponentFromUrl(url, "_blank", 0, args())
Usamos a função ConvertToURL() para transformar o caminho onde está o modelo em uma
url para uso com a próxima instrução. Esta função pode receber como parâmetro o caminho
para um arquivo no disco local, um caminho UNC, um endereço HTTP, entre outros.
Daí criamos o documento, baseado no modelo, e armazenamos na variável doc.
4. Inserir o texto no documento.
doc.Bookmarks.getByName("identificacao").Anchor.setString("Documento Nº " &
txtNumero.Text)
...
...
doc.currentController.viewCursor.gotoRange(doc.Bookmarks.getByName
("texto").Anchor, false)
16
O texto deve ser inserido nos bookmark criados anteriormente.
Utilizamos o método getByName() da coleção Bookmarks do documento, para recuperar o
bookmark e em seguida utilizamos o método setString() da propriedade Anchor do bookmark.
Repetimos esse processo para todos os bookmark, exceto o bookmark texto.
O bookmark texto é usado para posicionarmos o cursor naquele ponto. Usamos o método
gotoRange(), passando como parâmetro a propriedade Anchor do bookmark. A digitação a partir
deste ponto será feita pelo usuário.
Por fim precisamos fechar o diálogo e encerrar a execução da macro. Podemos usar a rotina
btnCancel_click que foi escrita justamente para este fim.
A seguir, como vai ficar o código da macro depois de finalizado.
REM
*****
BASIC
*****
' Declarações
Dim dlg As Object
' Rotina principal
Sub Main
' carrega a bilioteca minhaBibilioteca, cria e exibe o diálogo
DialogLibraries.LoadLibrary("minhaBiblioteca")
dlg = CreateUnoDialog(DialogLibraries.minhaBiblioteca.meuFormulario)
dlg.Execute()
End Sub
' Botão cancelar
Sub btnCancel_click
' fecha o diálogo e termina a macro
dlg.endExecute()
End
End Sub
' Botão Ok
Sub btnOk_click
' recupera os controles no diálogo
txtNumero
= dlg.getControl("txtNumero")
txtData
= dlg.getControl("txtData")
txtCidade
= dlg.getControl("txtCidade")
cboDestinatario = dlg.getControl("cboDestinatario")
txtDestinatario = dlg.getControl("txtDestinatario")
cboTratamento
= dlg.getControl("cboTratamento")
cboEncerramento = dlg.getControl("cboEncerramento")
txtAssinatura
= dlg.getControl("txtAssinatura")
Criando documentos de texto no BrOffice com macros e formulários
' validação dos dados digitados
' somente 1 campo para fins de exemplo
If txtNumero.Text = "" Then
MsgBox "Informe o número do documento.", 48, "Atenção"
txtNumero.SetFocus()
Exit Sub
End If
' dados validados. continua
' cria o documento
Dim doc, url, args()
url = ConvertToURL("c:\meuModelo.ott")
doc = StarDesktop.loadComponentFromUrl(url, "_blank", 0, Args())
' insere o texto nos bookmark
doc.Bookmarks.getByName("identificacao").Anchor.setString("Documento Nº
" & txtNumero.Text)
doc.Bookmarks.getByName("local").Anchor.setString(txtCidade.Text & ", "
& txtData.Text)
doc.Bookmarks.getByName("destinatario").Anchor.setString(cboDestinatario
.Text & Chr(10) & txtDestinatario.Text)
doc.Bookmarks.getByName("vocativo").Anchor.setString(cboTratamento.Text)
doc.Bookmarks.getByName("encerramento").Anchor.setString(cboEncerramento
.Text)
doc.Bookmarks.getByName("assinatura").Anchor.setString(txtAssinatura
.Text)
' move o foco para o bookmark "texto"
doc.currentController.viewCursor.gotoRange(doc.Bookmarks.getByName
("texto").Anchor, false)
' fecha o diálogo e termina a macro
btnCancel_click
End Sub
Resta agora associar as rotinas com os botões do formulário. No formulário, vamos na folha
de propriedades do botão Cancelar, aba eventos. Da lista de eventos vamos selecionar o
evento "Ao iniciar", clicando no botão "..." conforme (figura 17).
18
Figura 17: Folha de propriedades do botão “cancelar”, aba Eventos
No diálogo seguinte, figura 18, selecionamos a opção atribuir. Nesta tela é possível associar
macros a outros eventos e não apenas ao evento selecionado na tela anterior, bastando para isso
selecionar um evento diferente na lista.
Figura 18: Diálogo “Atribuir macro”
Ao clicarmos no botão "atribuir", temos o diálogo "Seletor de macro". (figura 19).
Criando documentos de texto no BrOffice com macros e formulários
Figura 19: Deletor de macro
Navegamos até o módulo meuModulo e selecionamos a macro btnCancel_click e
confirmamos pelo botão Ok.
Agora ao clicarmos no botão Cancelar no formulário, será executada a macro associada.
Repetimos esse processo para o botão Ok, associando o evento "Ao iniciar" à macro
btnOk_click
A partir deste ponto, já podemos testar o funcionamento da macro. Para isso vamos a janela
do moduloPrincipal e clicamos no botão "Executar o Basic" localizado na barra de
ferramentas "Macro". (figura 20)
Figura 20: Barra de ferramentas “Macro”, com destaque para o botão “Executar o BASIC”
Ao clicarmos neste botão, será executada a subrotina Main(), que é a rotina que carrega e
mostra o formulário
Continuando o teste preenchemos o formulário conforme figura 21 e clicamos Ok.
20
Figura 21: Formulário preenchido
Será então executada a macro que cria o novo documento e insere o texto nos bookmark. A
macro btnOk_click. O documento criado vai ficar como na figura 22.
Figura 22: Documento criado pela macro
Observe que o cursor fica posicionado no parágrafo exato para que o usuário faça a digitação do
texto.
A fonte, margens, o espaçamento entre parágrafos é o definido no modelo, permitindo que os
documentos criados pela macro sigam sempre o mesmo padrão, que é o nosso objetivo.
A próxima etapa é o empacotamento como um suplemento do BrOffice.
Criando documentos de texto no BrOffice com macros e formulários
O Suplemento
Para distribuir nossa macro vamos utilizar o recurso de suplementos do BrOffice, também
chamados de Add-On.
O suplemento permite a distribuição das macros e formulários, e a sua fácil instalação em
outras máquinas.
Criando o suplemento
Para executar esta tarefa vamos precisar dos arquivos da macro e do formulário que
criamos. Os arquivos, no windows xp, ficam salvos no caminho "<perfil do usuário>\Dados
de aplicativos\BrOffice.org2\user\basic\minhaBiblioteca", conforme figura 23.
Figura 23: Arquivos para a criação do suplemento
Precisamos copiar a pasta "minhaBiblioteca" para outro local no disco, por exemplo
C:\minhaBiblioteca. Depois, no Organizador de macros, figura 10, devemos excluir a
biblioteca que criamos nos passos anteriores.
Para criação do suplemento podemos utilizar uma ferramenta disponível no endereço de
internet
http://openoffice.org.br/files/addons1_1_pt_br.zip.
ou
em
http://www.broffice.org.br/macros.
Trata-se de um documento de texto do BrOffice intitulado "Como distribuir suas macros com
um Addon" com orientações detalhadas sobre o suplemento e suas possibilidades, além de
ter uma macro que auxilia no processo de criação e compressão do suplemento. O
documento foi escrito por Bernard Marcelly e traduzido para o português por Noelson Alves
Duarte e é distribuído sob a licença LGPL.
No subitem "2.2 Criação do arquivo de configuração", temos o botão "Criar arquivo XML"
que executa o assistente parar criarmos o arquivo de configuração addon.xcu, base para
criação do suplemento. Clicando no botão "Próximo >>" temos o diálogo da figura 24.
22
Figura 24: Criando o suplemento – passo 1
Na caixa arquivo de script principal, selecionamos o arquivo script.xlb localizado na pasta
minhaBiblioteca. Também informamos um nome para o suplemento. Depois, basta clicar Ok para
ir para o próximo passo.
Figura 25: Criando o suplemento – passo 2
No passo 2 escolhemos a opção Adicionar um item de menu no menu Principal. E vamos para o
próximo passo.
Figura 26: Criando o suplemento – passo 3
Criando documentos de texto no BrOffice com macros e formulários
O passo 3, figura 26, consiste em selecionar em que contexto do BrOffice vai ser criado o
menu. O padrão é todos. Clicamos no botão "Próximo >>".
Figura 27: Criando o suplemento – passo 4
A figura 27 ilustra o passo 4, onde informamos o título do menu e clicamos no botão
"Adicione este texto". Ao fazer isso a caixa Títulos já definidos aqui vai ter seu valor alterado
de 0 para 1. Ao clicar em "Concluído", recebemos uma mensagem que agora devemos criar
um submenu, O que será feito pelo diálogo da figura 28.
Figura 28: Criando o suplemento – passo 5
Para criarmos o submenu, o procedimento é o mesmo. Informamos o título, clicamos em
"Adicione este texto" e em seguida em "Concluído".
A diferença do menu para o submenu é que ao concluirmos este último, somos direcionados
para tela onde devemos informar qual ação será executada quando um usuário selecionar
esta opção no menu. Vamos escolher a opção "Execute a macro", informando o nome da
biblioteca, do módulo e finalmente da macro que será executada. (figura 29)
24
Figura 29: Criando o suplemento – passo 6
Clicando em "Próximo >>" vamos para o diálogo que permite selecionar uma imagem para usar
como ícone do menu, figura 30.
Figura 30: Criando o suplemento – passo 7
Vamos escolher a opção "Sem imagem", e vamos para o passo 8.
Na sequência, temos a opção de criar outro submenu ou concluirmos nosso arquivo de
configuração, figura 31.
Criando documentos de texto no BrOffice com macros e formulários
Figura 31: Criando o suplemento – passo 8
No nosso exemplo, vamos escolher "Concluído" e criar o arquivo addon.xcu.
Figura 32: Criando o suplemento – passo 9
O último passo, na figura 32, mostra a mensagem que o arquivo foi criado e um resumo das
ações, que foram criar um menu Principal chamado Meus Formulários, e um submenu
chamado Meu Documento, que ao ser acionado vai executar a macro
minhaBiblioteca.meuModulo.Main.
Ainda nesta tela temos o botão "Comprimir o Addon". Clicando nesta opção vamos
finalmente gerar nosso suplemento que será salvo como "C:\minhaBiblioteca.zip".
26
Instalando o suplemento
Para o teste final vamos instalar nosso suplemento. Isto é feito com o aplicativo unopkg, localizado
no caminho: <pasta de instalação do BrOffice>\program\.
A instalação é feita digitando o comando a seguir, numa janela prompt de comandos do windows:
<instalação_BrOffice>\program\unopkg add --shared c:\minhaBiblioteca.zip
Uma lista completa das opções do aplicativo unopkg pode ser obtida passando o argumento -help, como no exemplo abaixo:
<instalação_BrOffice>\program\unopkg --help
A instalação do addon pode ser feita também em modo gráfico, porém o aplicativo em modo texto
permite que a instalação seja feita através de script, o que se torna interessante quando a
distribuição ocorrer em grande quantidade de máquinas.
Para testar nosso suplemento, após instalado, basta abrirmos o BrOffice e vamos percerber um
ítem novo no menu, figura 33. O menu Meus Formulários e o submenu Meu Documento.
Figura 33: Barra de menus com destaque para o novo menu criado pelo suplemento
Selecionando o menu Meu Documento, vamos executar a macro que vai nos mostrar o formulário
e permitir criarmos o documento. Figura 34.
Criando documentos de texto no BrOffice com macros e formulários
Figura 34: Testando o suplemento
Ainda, para o correto funcionamento da macro, não podemos esquecer que o modelo
precisa estar acessível, seja no sistemas de arquivo local, na rede ou num endereço http.
28
Leitura complementar
Developer's Guide
http://wiki.services.openoffice.org/wiki/Documentation/Dev_Guide/OpenOffice.org_Developers_Guide
Como distribuir suas macros com um addon
Orientações de como distribuir as macros através de suplementos
http://www.broffice.org.br/macros
http://openoffice.org.br/files/addons1_1_pt_br.zip
Ferramenta Xray
Xray é uma ferramenta para o programador de macros Basic usando a API do OpenOffice. Seu
propósito é exibir as propriedades, métodos, serviços e interfaces de uma variável do tipo objeto.
http://www.broffice.org.br/macros
http://openoffice.org.br/files/xraytool51_br.zip
Download

Criando documento de Texto no BROffice.org