segunda-feira, 29 de novembro de 2010 - 18:10

Numerador automático de documentos

memorando

Faz alguns anos que, no Tribunal de Contas do Estado de Rondônia, usamos a macro que escreve valores por extenso, publicada pela INFO. Sou o responsável por divulgar essa macro, que faz o maior sucesso entre nós: é usada por uns 80% dos funcionários do TC. Muito embora tardio, mas meus parabéns à INFO. Bem, é lógico que estou querendo mais coisas! Você tem alguma macro que produza documentos com numeração seqüencial no Word 2003/2007?
Hardilei Lima de Sousa

Ainda nos anos 90, usando a primeira versão do VBA, que surgiu com o Office 97, desenvolvi uma pequena solução para numeração automática de documentos no Word. O material foi publicado na INFO em julho de 1998. A solução, chamada Memorandos, constava (consta, já que vou trazê-la de volta aqui) de dois modelos do Word (arquivos Memorandos.dot e Memobase.dot) e uma lista de destinatários (arquivo Listamemo.txt). Vejamos o que faz cada um desses arquivos.

Layout do documento
Memobase.dot
é um modelo que contém o layout do memorando. Ele traz palavras-chave como NúmeroDoDocumento, NomeDoDestinatário, NomeDoRemetente, AssuntoDoMemorando, ListaDeOutrosDestinatários. Esses palavras-chave serão substituídas pelas informações adequadas. Memobase.dot também contém dois indicadores: InícioDoDocumento e DataDoDocumento. O primeiro localiza-se no início da palavra Memorando, no título. O outro, no campo Data. Eles sinalizam posições dentro do documento.

Programa VBA
Memorandos.dot
. Este outro modelo contém o programa de automação, escrito em VBA. Ele abre um documento baseado em Memobase.dot (um memorando), procura as palavras-chave no texto e as substitui pelos valores pertinentes.

O arquivo-texto Listamemo.txt contém uma lista simples com os nomes dos possíveis destinatários dos memorandos.

Memorandos - guia Destinatários
O formulário Memorandos: guia Destinatários

Memorandos em ação
Ao ser aberto, Memorandos.dot exibe um formulário, Memorandos, que apresenta duas guias: Destinatários e Configuração. Na guia Destinatários, o usuário escolhe o destinatário principal no campo Para. Os destinatários secundários são indicados na caixa de listagem Com Cópia Para. Há ainda uma caixa de texto na qual o usuário deve digitar o assunto do memorando. Ao lado da caixa Para, aparece o número de destinatários incluídos no arquivo-texto Listamemo.txt.

A guia Configuração exibe uma caixa de texto na qual o usuário deve digitar seu próprio nome e clicar no botão Salvar. Esse nome será o padrão de remetente para todos os memorandos. E fica armazenado no arquivo Memo.ini, criado pelo programa.

O arquivo Memo.ini guarda ainda o número do último memorando. Essa informação é fundamental para automatizar a numeração. A solução usa um sistema no formato ###/aa – ou seja, número (com 3 dígitos) do ano (com dois dígitos). Após a virada do ano, a numeração recomeça: 001/aa+1.

Memorandos - guia Configuração
A guia Configuração: remetente e arquivos

Lista de destinatários
A lista de destinatários (arquivo Listamemo.txt) também pode ser editada. Basta acionar o botão Editar Lista. O arquivo é aberto no Bloco de Notas. Então, você pode incluir, excluir ou alterar os nomes. Após editar a lista, o usuário deve clicar em Atualizar Lista, se quiser usar o programa imediatamente e encontrar as últimas alterações já disponíveis nas caixas Para e Com Cópia Para.

Quando você escolhe um nome na caixa Para (guia Destinatários), a caixa Com Cópia Para é preenchida com os nomes restantes da lista. Desse modo, não há o perigo de um nome aparecer tanto como destinatário principal como entre os destinatários secundários (a turma do com-cópia).

O formulário Memorandos traz ainda a área Informações, que mostra o número e o nome do arquivo do próximo memo. Portanto, antes de emitir o documento, o usuário já sabe que ele será o memorando 015/10 e o arquivo a ser salvo, mm015-10.doc. (Aqui ainda havia a preocupação de manter o nome do arquivo sem espaços e com no máximo 8 caracteres. Se você quiser, pode mexer no código e alterar isso.) Detalhe: como os modelos são .dot, padrão do Word 97-2003, os arquivos gerados só podem ser .doc, mesmo quando usados no Word 2007 ou 2010.

Para gerar o arquivo, o usuário deve acionar o botão OK. Feito isso, o arquivo é salvo. Falta, por fim, escrever o texto do memorando, substituindo as instruções adicionais que estão no corpo do documento. Depois, é só salvar, imprimir e enviar o memorando aos destinatários. Lembre-se de que, para executar o programa, as configurações de segurança de seu Word devem estar ajustadas para o nível médio. No nível alto, que é o padrão de fábrica, nada acontece quando você abre um arquivo que contém macros.

Download
Testei a velha solução, e ela continua válida, inclusive no Word 2010. Você pode baixa-la no endereço http://www.info.abril.com.br/ftp/memorandos.zip e descompactar os quatro arquivos para uma pasta qualquer. Dê um duplo clique em Memo.dot para abrir o programa e ver como funciona. 

O ideal é, por exemplo, instalar no Word um botão que chame o programa (veja como no Fórum INFO, no tópico “Instale uma macro na barra de acesso rápido do Word 2007″). Dessa forma, a automação se completa. A separação da solução em dois arquivos — um com o layout do documento e o outro com o programa — tem como objetivo facilitar a personalização. Em vez de Memobase.dot, você pode usar outro arquivo e trabalhar, por exemplo, com ofícios, cartas, avisos e outros tipos de documentos. Para não mexer no código, é preciso manter, no novo documento, as mesmas palavras-chave (como NúmeroDoDocumento, NomeDoDestinatário etc.) existentes em Memobase.dot.

De todo modo, os dois modelos estão abertos. Personalize-os à vontade.

Arquivo .ini ou Registro?
Outra observação. Nas versões mais recentes do Windows, os aplicativos e programas, como padrão, fazem anotações de configuração no Registro, e não em arquivos .ini. No entanto, o arquivo .ini, embora seja uma tecnologia mais antiga, tem algumas vantagens. Você pode transportá-lo para outra máquina ou até para um drive de rede, mantendo as informações. Com os dados no Registro, isso não pode ser feito com facilidade. E até se você mudar de lugar a pasta dos memorandos, no mesmo PC, já provocará problemas. 

Na solução disponível para download no site da INFO, o padrão é que todos os arquivos (.dot, .ini, .txt e até os memorandos gerados) serão gravados na mesma pasta. No código, residente no arquivo Memo.dot, há informações para alterar esse comportamento.

Categorias

Comentários

///

Tags

///

Arquivos

///