Notifications
Clear all

Gerar PDF e enviar por E-mail

15 Posts
4 Usuários
0 Reactions
3,059 Visualizações
(@afbergman)
Posts: 0
New Member
Topic starter
 

Olá Pessoal,

Criei um formulário e estou com grandes dificuldades de criar um código para gerar um PDF a partir dos dados inseridos na aba "Form. Transp. Materiais".
Depois de gerar gostaria de anexar direto no email do outlook com os endereços cadastrados (não há necessidade de salvar em nenhuma pasta).

obs: não consegui adicionar o arquivo habilitado para macro pq aqui diz q está muito grande, mesmo dps de zipar.

Alguém consegue me ajudar?

 
Postado : 07/06/2018 11:58 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

afbergman,

Boa noite!

No outro tópico sobre esse mesmo assunto que lhe ajudei e postei exemplo que realiza o que você pediu, você disse que o problema era o fato de que não é garantido que a pessoa que vai imprimir definisse previamente a impressora como PDFCreator. Fiz uma pequena modificação de modo que a impressora é definida antes do comando do PintForm.

 
Postado : 07/06/2018 3:17 pm
(@afbergman)
Posts: 0
New Member
Topic starter
 

Obrigado Wagner pela ajuda no outro tópico!!!! Vou dar uma olhada nesse arquivo e retorno.
Abraços.

 
Postado : 08/06/2018 7:17 am
(@afbergman)
Posts: 0
New Member
Topic starter
 

Wagner,

Deu um erro de compilação, "uso invalido da palavra-chave ME". Se eu retiro essa expressão b dá um outro erro: "o metódo ActivePrinter do objeto_Application falhou"

 
Postado : 08/06/2018 7:21 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

afbergman,

Boa tarde!

Essa erro "o metódo ActivePrinter do objeto_Application falhou" é porque a sua impressora PDFCreator não está instalada na mesma porta que está instalada aqui na minha máquina.

Veja que no final da linha onde a impressora é atribuída existe um "Ne00:". Essa é a porta que está na minha máquina.

    'Seta a impressora para PDFCreator
    Application.ActivePrinter = "PDFCreator em Ne00:"

Para saber qual é a porta que está na sua máquina, você pode fazer um pequeno teste. Abra o Excel, digite qualquer coisa e mande imprimir. Ao abrir a caixa de impressão escolha a impressora PDFCreator e feche sem imprimir nada. Depois faça essa pequena rotina no VBA que ela lhe devolverá o nome da impressora atualmente selecionada:

Sub ImpressoraAtiva ()
     Msgbox Application.ActivePrinter
End Sub
 
Postado : 10/06/2018 9:13 am
(@afbergman)
Posts: 0
New Member
Topic starter
 

Obrigado Wagner, mas ainda nao me atende. Deve haver um jeito de configurar o codigo de outra forma, pois esse formulário deverá estar disponivel para toda a empresa, e provavelmente nem todos terão a impressora na mesma porta que a minha.

 
Postado : 10/06/2018 8:58 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

afbergman,

Bom dia!

Jeito tem, claro.

Eu acho que hoje em dia até as crianças sabem como configurar uma impressora (aliás tem umas que sabem muito mais do que muito adulto). Desse modo, você pode, por exemplo, inserir no seu código, a caixa de diálogo de abertura de impressoras que o VBA também disponibiliza (Application.Dialogs(xlDialogPrint).Show) e o usuário escolher a impressora PDF da máquina dele antes de continuar o código.

Obviamente, todas as máquinas devem ter o PDFCreator instalado previamente.

 
Postado : 11/06/2018 8:00 am
(@mprudencio)
Posts: 0
New Member
 

Use o gravador de macros para criar o codigo que gera o pdf.

 
Postado : 11/06/2018 7:21 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Marcelo,

Creio que nesse caso, ele não consegue usar o gravador de macros para gerar o PDF pois o que ele quer é enviar, por e-mail, um print do Form, sem que esse print seja salvo em lugar nenhum. Tipo assim: apareceu o form na tela, entrou com os dados, clicou no botão Enviar Email, fazer um ALT+PTRSCREEN no form e um CTRL+V no corpo do email.

 
Postado : 12/06/2018 5:49 am
(@boobymcgee)
Posts: 0
New Member
 

afbergman veja se assim atende.

 
Postado : 12/06/2018 1:27 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

boobymcgee,

Boa noite!

Da forma que você fez é fácil de fazer e eu tenho alguns exemplos como o seu. Todavia, se você observar o primeiro tópico do afbergman que eu já vinha tentando ajudar (mencionado nesse tópico) e também o que ele citou no pedido dele na postagem inicial lá em cima

(não há necessidade de salvar em nenhuma pasta)

Vai ver que o que ele está querendo é enviar uma imagem do Userform dele no corpo do e-mail e não como anexo (pelo menos foi isso que eu entendi e o que ele deu a entender no primeiro tópico sobre esse mesmo assunto).

 
Postado : 12/06/2018 3:28 pm
(@boobymcgee)
Posts: 0
New Member
 

Boa noite wagner,

Desculpa, até li os dois tópicos e também não entendi bem o que ele quer, acabei me apegando a informação da impressora PDF e sai por este outro caminho.
Agora é esperar se ele vai ver o post e responder se é isso ou se realmente quer colar uma imagem no corpo do E-mail.
Valeu.

 
Postado : 14/06/2018 7:45 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

boobymcgee,

Tudo tranquilo... só quis esclarecer.

 
Postado : 15/06/2018 7:29 am
(@afbergman)
Posts: 0
New Member
Topic starter
 

Boobymcgee,

Muito obrigado pela excelente resposta, funcionou perfeitamente.

 
Postado : 16/06/2018 1:49 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

afbergman,

Boa tarde

Por gentileza, não utilize citações desnecessárias.

 
Postado : 16/06/2018 2:11 pm