Como adicionar uma imagem dinâmica em um modelo dot

Saiba como ter uma imagem que você pode preencher automaticamente em um modelo dot do Word (nesse exemplo usando AdvPL).

Primeiramente, no Word clique na aba Inserir, e depois em Imagem.

Inserindo Imagem

Agora, ao selecionar a imagem, selecione a opção Vincular ao Arquivo. Fique atento em que diretório a imagem está, por exemplo, C:\TOTVS\imagem.bmp.

Vincular ao Arquivo

Crie uma função que baixe a imagem do Protheus e salve em cima desse arquivo, por exemplo.

User Function zBaixaImg(cOrigem)
    Local cArquivo   := "C:\TOTVS\imagem.bmp"
    Local cArqBranco := "SEM_IMG"
    Default cOrigem  := SB1->B1_BITMAP
 
    //Se existir o arquivo, deleta
    If File(cArquivo)
        FErase(cArquivo)
    EndIf
 
    //Se tiver origem, pega a imagem do repositório de imagens
    If ! Empty(cOrigem)
        RepExtract(Alltrim(SB1->B1_BITMAP), cArquivo)
 
    //Senão, tenta buscar de uma imagem padrão do repositório, no nosso exemplo, usamos a imagem "SEM_IMG"
    Else
        RepExtract(Alltrim(cArqBranco), cArquivo)
    EndIf
Return

No exemplo acima, a função recebe por parâmetro o código para baixar do repositório, inclusive se não existir imagem, ele busca do registro “SEM_IMG”.

Agora é só chamar essa função antes de gerar seu arquivo do Word, caso tenha dúvidas de como criar, leia Gerando um arquivo do Word pelo AdvPL usando integração com Modelos DOT.

Essa dica foi enviada por Renan Martins e Vinicius Torres, obrigado jovens.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

2 Responses

  1. George Allan disse:

    Muito legal Atilio, obrigado por compartilhar

Deixe uma resposta