Guia Completo: Preencher Documentos Word com Power Automate

Tempo de leitura:

5–8 minutes

Neste artigo vou mostrar-te como podes ter um ecrã com informação para preencher, e transferir essa informação para um documento de Word e gerar um PDF.

Neste cenário vamos utilizar várias ferramentas do Office 365, nomeadamente do Power Platform para poderes confirmar o potencial enorme que existe de compatibilidade e colaboração entre as várias aplicações.

Para o cenário vou utilizar um exemplo de base usado num artigo anterior sobre a função Patch, significando que a estrutura da aplicação já está montada, e vamos focar-nos apenas na integração com o Power Automate.

Cenário atual

No cenário atual temos então uma App com o seguinte ecrã que foi utilizado no tutorial sobre a função Patch. Contudo agora o objetivo não é adicionar dados a uma base de dados, mas sim utilizar os dados para preencher um documento de Word, e terminar com um documento novo em PDF.

Interface de entrada de dados para informações de um jogador de futebol, com campos para nome, apelido, posição, data de nascimento, idade, país, altura, internacionalidade e clube, incluindo um botão para guardar e atualizar as informações.

Para o efeito vamos ter um novo botão, que ao pressionar (OnSelect) vai correr um fluxo de Power Automate que entre várias ações vai:

  • Guardar a imagem num ficheiro .png
  • Popular um documento de Word
  • Criar o ficheiro com o Documento Word
  • Converter o ficheiro do Word em PDF e Criar o Documento
  • Eliminar a imagem gerada

Como podes ver o fluxo vai ser bastante completo para executar todas estas operações.

Antes de iniciarmos o processo é importante saberes que no cenário vou utilizar 2 conectores premium que usam o Microsoft Word. O documento de Word também deve ser preparado com os campos de formulário.

Interface de um documento do Word mostrando propriedades de controle de conteúdo para preencher uma ficha de jogador, com campos para nome, apelido, posição, data de nascimento, idade, país, altura e internacionalidade.

Os campos do Word são preenchidos essencialmente com controlos de texto, e a imagem com um controlo de imagem. Estes campos vão ser necessários para a etapa de popular um documento de Word.

Fluxo do Power Automate

Para começar vamos iniciar um fluxo de Power Automate, acedendo a make.powerautomate.com e iniciamos um novo fluxo.

Interface do Power Automate mostrando opções para criar um fluxo, incluindo 'Fluxo na Nuvem Instantâneo' e outras opções de fluxo.

Escolhemos um Fluxo instantâneo, que é ativo quando pressionamos um botão em Power Apps. Damos um nome ao fluxo e indicamos o Trigger (gatilho) que é obrigatório para iniciar o fluxo.

Interface do Power Automate mostrando a opção de criar um fluxo instantâneo com o nome 'FichaWord'.

1 – Trigger Power Apps V2

O Trigger Power Apps V2 é o mais recente que permite interagir entre o Power Apps e o Power Automate. Neste caso o Trigger pode receber inputs, que vamos começar a definir, de modo a podermos obter a informação da aplicação e passá-la para o Power Automate.

Interface do Power Automate mostrando a configuração do fluxo 'Quando Power Apps chama um fluxo (V2)' com a opção 'Adicionar uma entrada'.

Começamos por adicionar os vários inputs que vamos necessitar da aplicação…

Tela de configuração do Power Automate para um fluxo que interage com Power Apps, mostrando os tipos de entrada do usuário disponíveis.

Os inputs podem ser de vários tipos de dados, mas para o cenário vamos ter essencialmente 3:

  • Ficheiro [File] para a imagem
  • Texto [Text] para os campos de texto
  • Número [Number] para os campos de números

Nota que aqui poderíamos incluir o input de Data [Date] para a data de nascimento, mas para efeitos de simplicidade vamos assumir a data como um valor de texto, colocado no Word.

Interface do Power Automate mostrando um fluxo que integra inputs de imagem, texto e números para criar documentos a partir do Power Apps.

Juntamente com o Trigger o fluxo precisa pelo menos de uma ação. Vamos então passar para a 1ª ação do fluxo.

2 – Criar um Ficheiro para a imagem

A primeira ação vai ser criar um ficheiro, neste caso em SharePoint para armazenar a imagem que vai sair da aplicação e do Input -> File. Assim vamos escolher uma ação Create File com o conector de SharePoint.

Interface do Power Automate mostrando a ação 'Criar arquivo' no conector SharePoint, com opções para adicionar ações.

Nas configurações da ação definimos o site de SharePoint e a pasta onde vamos armazenar o ficheiro criado. Para o nome podemos dar um nome, contudo aqui vou criar uma expressão -> concat para concatenar valores. Os valores são definidos através dos Inputs que vêm da Aplicação e do Trigger.

concat(triggerBody()?[‘text_1′],’_’,triggerBody()?[‘text_2′],’_’,utcNow())

Para o conteúdo, adicionamos um conteúdo dinâmico, proveniente do Power Apps.

Interface de Power Automate mostrando a configuração da ação 'Create file' para uma imagem, com campos para endereço do site, caminho da pasta, nome do arquivo e conteúdo do arquivo.

3 – Obter as propriedades do Ficheiro

A próxima ação é necessária para obter as propriedades do ficheiro entretanto criado no passo anterior. Vamos aceder ao conector de SharePoint e procurar uma ação Get File Properties.

Interface do Power Automate mostrando a ação 'Obter propriedades do ficheiro' no conector SharePoint com opções disponíveis.

Nesta ação continuamos a dar o mesmo Site de SharePoint e a Biblioteca de Documentos onde estão os nossos ficheiros. No Id vamos colocar um conteúdo dinâmico, com o ID do ficheiro que podemos obter do Passo (Ação) anterior.

Interface do Power Automate mostrando o fluxo para criar e obter propriedades de um arquivo de imagem.

4 – Compor o caminho do ficheiro

O próximo passo, embora não fundamental, permite obter de uma forma mais simples os dados necessários para a próxima ação, nomeadamente, o caminho do ficheiro obtido pelas propriedades do mesmo.

Interface do Power Automate mostrando como adicionar uma ação 'Compose' no fluxo de trabalho.

Escolhemos o conteúdo dinâmico, caminho completo!

Interface do Power Automate mostrando a configuração de inputs para um fluxo, com destaque para a propriedade 'Caminho Completo' de um ficheiro.

5 – Obter o conteúdo do ficheiro com o Caminho

Na próxima ação vamos obter o conteúdo do ficheiro, que continua a ser a nossa imagem, necessária para incluir no documento do Word. Neste caso escolhemos a opção Get File Content using Path.

Tela do Power Automate mostrando a ação 'Get file content using path' destacada, com um painel lateral exibindo opções de ações do SharePoint.

Obtemos o conteúdo dinâmico do passo anterior…

Imagem do Power Automate mostrando a ação 'Get file content using path' com campos de parâmetros para a definição do site e caminho do ficheiro.

6 – Popular o documento do Word

Agora que temos toda a informação do ficheiro, podemos começar a preencher o documento do Word.

Os inputs são diretos, mas no que toca à imagem é necessário o conteúdo do ficheiro, daí a preparação das etapas anteriores.

Tela da plataforma Power Automate mostrando ações relacionadas ao Microsoft Word, incluindo opções para popular um documento do Word e converter documentos em PDF.

Agora é só introduzir os inputs provenientes do Trigger e do Caminho do Ficheiro.

Tela de configuração do fluxo do Power Automate para preencher um documento do Word com campos de entrada.

Aqui especial atenção no Input da imagem, que corresponde ao caminho completo do ficheiro.

Interface do Power Automate mostrando a configuração para popular um modelo do Microsoft Word com parâmetros da aplicação Power Apps.

Eis as opções todas colocadas no documento Word.

Screenshot of the Power Automate interface showcasing a flow named 'FichaWord' that populates a Microsoft Word template with parameters including club, height, last name, and image file content.

7 – Criar o documento de Word

Depois de estar preenchido o documento, temos de o gravar / criar. Neste caso introduzimos outro passo que corresponde à criação de um ficheiro.

O nome do ficheiro pode ser criado através da seguinte expressão:

concat(triggerBody()?[‘text_1′],’_’,triggerBody()?[‘text_2′],’_’, utcNow())

Interface do Power Automate mostrando a criação de um arquivo Word, com parâmetros como endereço do site e caminho da pasta.

E depois adicionamos o ficheiro do Word.

Interface do Power Automate mostrando o fluxo para criar um documento Word com campos dinâmicos.

8 – Obter as propriedades do documento do Word

Este próximo passo é importante se pretendermos converter o documento de Word num PDF. Precisamos das propriedades do documento, nomeadamente o caminho para poder convertê-lo em PDF. Mas aqui a lógica é semelhante aos passos anteriores.

Tela com as configurações da ação 'Get file properties' no Power Automate, solicitando o endereço do site, nome da biblioteca e ID do item a ser recuperado.

Ficamos com este passo completo.

Diagrama do fluxo no Power Automate mostrando ações para obter propriedades de um arquivo, compor caminho, obter conteúdo e popular um template do Microsoft Word.

9 – Converter o documento de Word em PDF

Este passo necessita do caminho do ficheiro, o qual vamos obter através das propriedades no passo anterior para converter em PDF.

Interface do Power Automate mostrando a ação para converter um documento Word em PDF, com elementos visuais da configuração do fluxo.

Aqui colocamos o caminho do ficheiro pela opção Nome de Ficheiro com a extensão

Interface do Power Automate para converter um documento Word em PDF, mostrando opções de localização, biblioteca de documentos e seleção de arquivo.

10 – Criar o documento PDF

O próximo passo é semelhante ao que foi feito com o Documento do Word, mas agora para o PDF, temos de o criar!

Interface do Power Automate mostrando a criação de um ficheiro e configuração de parâmetros para conversão de um documento Word em PDF.

O passo final fica desta forma.

Imagem mostrando a interface do Power Automate com as etapas de criação de um documento PDF a partir de um documento Word.

11 – Apagar a imagem

No último passo, do Fluxo vamos apagar a imagem gerada, uma vez que podemos considerar um ficheiro temporário. Escolhemos uma ação Delete File (Atenção em não colocar Delete Item).

Tela do Power Automate onde a ação 'Delete File' está configurada, mostrando o endereço do site e opções para selecionar o arquivo a ser excluído.

Ativar o Fluxo pelo Power Apps

De volta ao Power Apps, agora temos de correr o fluxo.

Em primeiro lugar temos de ativar / adicionar o fluxo no Power Apps.

Tela de edição em Power Apps com informações sobre jogadores, incluindo campos para nome, apelido, posição, data de nascimento, idade, país, altura e internacionalidade.

E inserir o Fluxo pretendido…

Tela do Power Apps mostrando a interface para adicionar um fluxo no Power Automate, com opções para selecionar fluxos existentes e detalhes sobre o fluxo 'FichaWord'.

Agora vamos adicionar um botão para correr o Fluxo.

Tela de edição da aplicação Power Apps, apresentando um formulário para inserção de dados de um jogador, incluindo campos para nome, apelido, posição, data de nascimento, idade, país, altura, internacionalidade e clube, além de um controle para adicionar uma imagem.

Nesta fase apenas temos de correr o fluxo no método OnSelect do Botão. Como podes verificar estão todos os inputs colocados no Trigger do Power Automate. Aqui temos de ter especial atenção ao input da imagem, que requer um Record, registo.

Interface do Power Apps mostrando o código para executar um fluxo com o botão OnSelect.

O código é o seguinte: Apenas deves ter cuidado com o tipo de inputs necessários, ou seja, se o Input pede Texto, temos que colocar os valores como Texto, por exemplo.

FichaWord.Run(

    // Input da Imagem como Record

    {

        contentBytes: img_Foto.Image;

        name: txt_Nome.Text

    };

    txt_Nome.Text; // 2º Input da Imagem (um valor de Texto)

    txt_Nome.Text;

    txt_Apelido.Text;

    drp_Posicao.Selected.Value;

    Text(dte_DataNascimento.SelectedDate);

    Value(txt_Idade.Text);

    drp_País.SelectedText.Value;

    sld_Altura.Value;

    If(tgl_Internacional.Value;”Sim”;”Não”);

    drp_Clube.Selected.Clube

)

Próximo artigo:

Artigo Anterior:


Comments

Leave a Reply

Discover more from Exceldriven

Subscribe now to keep reading and get access to the full archive.

Continue reading