Mala Direta com OpenOffice

Demorou e finalmente aconteceu, esperaram até a versão 2.0 para enviarem o anúncio, o HSQLDB será o banco de dados oficial que acompanhará o OpenOffice daqui para frente. Finalmente, quem usa a ferramenta terá um concorrente mais do que à altura do Microsoft Access , lembrando que quem usa o StarOffice já conta com o banco Adabas DB (só que infelizmente, proprietário). O HSQLDB foi nota do meu primeiro artigo publicado neste site, lembrando que ele é relacional (fornece suporte a SQL ANSI-92) e escrito completamente em Java. A grande vantagem é o seu tamanho (menor que 100 Kb) e rapidez. Suas tabelas podem ser mantidas em disco ou em memória RAM.

Mas porque esperarmos até a versão 2.0 para aproveitarmos deste recurso ? Então vamos brincar um pouco com este banco, aproveitando os dados carregados com o artigo passado e gerar uma simples mala direta . Só como referência, vou me utilizar da versão 1.1.2 do OpenOffice (em inglês), gosto de trabalhar com versões em inglês. O dicionário não é uma preocupação, pois bastam cinco passos e tenho o dicionário totalmente em português. No site do OpenOffice Brasil, você obtém os arquivos pt_BR.dic e o pt_BR.aff.

Colocando o dicionário em português no OpenOffice

1) Copie os arquivos pt_BR.dic e pt_BR.aff para a

[pasta OpenOffice]\share\dict\ooo

2) Abra o arquivo dictionary.lst (na mesma pasta) e insira a seguinte linha:

DICT pt BR pt_BR

3) Salve e abra o OpenOffice. Em seguida, acesse:

Tools -> Options -> Language settings -> Languages

4) Selecione o padrão Portuguese (Brazil) .

5) Entre na opção writing aids pressione o botão edit e configure a linguagem adotada.

Voltando à mala direta

Entretanto, estou perdendo o foco do artigo que é fazer uma mala direta. Sendo assim, vamos aos passos para o procedimento então:

1)  Modifique o arquivo java.ini localizado em [pasta OpenOffice]\user\config localizando nele, a linha do SystemClasspath. Insira o caminho para o arquivo JDBC do HSQLDB

SystemClasspath=[pasta Driver HSQLDB]\hsqldb.jar;[outros jar já existentes]

2)  Crie um novo arquivo texto.

3)  O primeiro passo será configurarmos a base de dados. Para isso, acesse a opção Tools | Data Sources...

4)  Na janela que se abre clique com o botão direito (na lateral New Data Source) e selecione a opção New Data Source.

5) Na opção Database type selecione JDBC e mude a palheta superior para JDBC

6) Nesta palheta JDBC configure as seguintes opções:

JDBC Driver Class: org.hsqldb.jdbcDriver

URL: (complete jdbc: já existente, com) hsqldb:file:teste

User name: sa

7) Façamos um pequeno teste acessando a palheta Tables e a tabela FRASE deve ser mostrada. Dê um OK para fechar a janela.

8) Escreva qualquer mensagem que você deseje enviar a seus amigos, por exemplo:

Prezado Amigo,

<campo DESFRASE>

Esta mensagem foi escrita por <campo AUTFRASE> e que lhe possa lhe ser de grande ajuda.

Tenha sempre a paz contigo

Fernando Anselmo

9) Para inserir os campos acesse a partir do menu as opções Insert | Fields | Other... ou CTRL+F2 e selecione Database na palheta superior e opção Mail merge fields , pressionando o botão Insert para colocar os campos nas posições indicadas.

Tudo pronto e agora vem a melhor parte. Pode-se simplesmente selecionar View | Data Sources ou F4 para se ter uma visão de como ficará seu documento impresso. Para fazer isso, selecione a tabela FRASE e escolha uma delas, em seguida pressione o botão date to fields . O botão Mail Marge enviará para impressora ou criará os documentos para serem enviados. Se você desejar enviar direto, selecione a opção Tools | Mail Marge...

E se você tivesse construindo um formulário de etiquetas como faria? Mais simples ainda, volte na opção Insert | Fields | Other... e teremos a opção Next Record , basta inserir este e um novo conjunto de campos até que tenhamos a folha completa de etiquetas.

Agora você já está pronto para gerar suas malas diretas de qualquer banco que tenha na sua empresa, pois para isso, basta trocar o driver JDBC. Imagine que às 17:55 da sexta-feira seu chefe solicite uma listagem em etiquetas de todos os clientes cadastrados em um banco de dados ORACLE, mais ou menos 300.000, suas opções são:

•  Dizer que isso não pode ser feito.

•  Migrar os dados para o MS-Access e fazer uma mala direta com o MS-Office.

•  Recorrer a este artigo.

Até a Próxima!

Fernando Anselmo