Gerando um arquivo do Word pelo AdvPL usando integração com Modelos DOT

Olá pessoal…

Hoje vou mostrar como fazer uma integração entre Protheus e Word, utilizando Modelos Dot.

Parte do Word:

1 – Abra o word
2 – Escreva uma frase de exemplo qualquer, como “bom dia”
3 – Clique em qualquer trecho, vá em Inserir > Partes Rápidas > Campo

Inserindo um campo

4 – Selecione DocVariable, e coloque um nome, por exemplo, VarTeste

Nome da variável

5 – Pra conferir no Word, selecione o texto, clique com o botão direito e depois clique em Alternar Códigos de Campos

Alternando códigos de campo

6 – Se tudo deu certo, mostrará o nome da variável

Verificando a variável criada

7 – Clique em salvar como, escolha Modelo do Word (dotx) ou Modelo do Word 97/2003 (dot)

Salvando como Modelo DOT

8 – Salve em uma pasta qualquer

Parte do Protheus:

9 – Crie uma User Function, com o seguinte conteúdo:

//Cria um ponteiro e já chama o arquivo
nHandWord := OLE_CreateLink()
OLE_NewFile(nHandWord, cArquivo) //cArquivo deve conter o endereço que o dot está na máquina, por exemplo, C:\arquivos_dot\teste.dotx

//Setando o conteúdo das DocVariables
OLE_SetDocumentVar(nHandWord, "VarTeste", dToC(Date()) + " - " + Time() + " AAAAA")

//Atualizando campos
OLE_UpdateFields(nHandWord)

//Monstrando um alerta
MsgAlert('O arquivo gerado foi <b>Salvo</b>?<br>Ao clicar em OK o Microsoft Word será <b>fechado</b>!','Atenção')

//Fechando o arquivo e o link
OLE_CloseFile(nHandWord)
OLE_CloseLink(nHandWord)

10 – Compile e execute. No exemplo acima, ele irá preencher a variável VarTeste dentro do Word, com a Data, Hora e o texto AAAA em seguida

Bom pessoal, por hoje é só.
Abraços e até a próxima

Dan_Atilio
Analista e desenvolvedor de sistemas. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas.

Deixe uma resposta