Qlik Community

Qlik Brasil

Welcome to the group for Brazil users. .All discussions will be in Portuguese.

Highlighted
Not applicable

Macro envio PDF

Boa tarde pessoal,


Estou  com uma dúvida em relação a uma macro que envia um relatório PDF por email. A macro está executando corretamente, está enviando o email com o arquivo anexado, mas não está enviando todo o conteúdo do relatório.

Exemplo:

No relatório (RP01) está mapeado um objeto (CH30) que contém uma tabela dinâmica.

No momento que visualizo a impressão do relatório há 324 páginas, mas quando envio por PDF ele envia somente 12 páginas.

Não sei se o erro está na configuração do relatório ou da macro executada.

Anexo macro.

Agradeço a ajuda.

Tags (1)
1 Solution

Accepted Solutions
Not applicable

Re: Macro envio PDF

Muito obrigada pessoal.

Consegui resolver.

8 Replies
rvsilvestre
Contributor III

Re: Macro envio PDF

no momento que vc visualiza ele aparece certo... vc diz no qlikview? ou quando vc abre o pdf normal mesmo la no  "C:\testesMACRO_EMAIL\Teste.pdf" ??

Not applicable

Re: Macro envio PDF

Oi Rodrigo,

Ele aparece correto no Qlikview, na visualização do relatório (RP01).

Não localizei este arquivo da macro, acredito que não salva no diretório antes de enviar.

luizclaudio
Contributor

Re: Macro envio PDF

Taisa

Não sei se é o caso, mas encontrei uma macro de envio de e-mail onde é utilizado sleep (    ActiveDocument.GetApplication.Sleep 7500) para dar uma pausa.

Será que tem algo a ver com o tempo de carga do anexo?

Luiz Cláudio

rvsilvestre
Contributor III

Re: Macro envio PDF

nao tem nenhum arquivo nesse diretório ? C:\testesMACRO_EMAIL\ ? estranho porque vc traz dele para anexar no email.

offjunior
Contributor

Re: Macro envio PDF

Boa tarde Taisa!

Provavelmente está anexando ao email antes de terminar de produzir todas as paginas do PDF.

Tem a solução do SLEEP que nosso amigo postou, porem você de fato não sabe quanto tempo vai levar para produzir o arquivo PDF como um todo, então existe outros comandos um pouco mais proveitosos que acho que vão te ajudar, tenta usa-los antes do comando que envia o email;

ActiveDocument.GetApplication.WaitForIdle         'Espera a aplicação ficar livre para continuar

ActiveDocument.GetApplication.Refresh               'Da refresh em todo processo

Espero que sirva pra você.

rphpacheco
Contributor III

Re: Macro envio PDF

Para os casos em que não se sabe o tempo necessário para determinada ação, eu utilizo o ActiveDocument.GetApplication.WaitForIdle conforme sinalizado pelo Junior.

Not applicable

Re: Macro envio PDF

Muito obrigada pessoal.

Consegui resolver.

Employee
Employee

Re: Macro envio PDF

Já conseguiu a resposta? Se sim, marque essa questão como "Respondida"