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 Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

2 Responses

  1. George Allan disse:

    Muito legal Atilio, obrigado por compartilhar

Deixe uma resposta