afbergman,
Bom dia!
Atendendo a sua demanda, fiz o que pediu no exemplo abaixo. Todavia, algumas condições são necessárias para que funcione corretamente:
1 - Você deve inserir as referências (no VBA) abaixo:
'Microsoft Outlook 12.0 (ou maior) Object Library
'Microsoft Scriping Runtime
2 - Antes de clicar no botão Enivar E-Mail do formulário para executar a macro, deve colocar como impressora padrão a impressora PDFCreator da sua máquina, pois estou usando o método PrintForm do objeto Userform e esse método usa a impressora padrão que está setada no Windows.
3 - Quando o método PrintForm é acionado, estando a impressora setada para PDFCreator, vai surgir uma caixa do aplicativo PDF para permitir que você salve o arquivo (Print do Form) em uma pasta. Nesse momento, o código possui uma espera de 20 segundos para permitir que você escolha a pasta onde vai salvar o arquivo e dê o nome Temp ao arquivo.
4 - O arquivo em PDF a ser salvo deve ser salvo na mesma pasta onde está esse arquivo de macro do Excel.
5 - O arquivo deve ter o nome Temp (dessa mesma forma que escrevi.
6 - Na hora do envio do E-mail coloquei o comando .Display para permitir que você veja o E-mail com o arquivo em PDF anexo. Se quiser modificar para remessa do email sem ver antes, basta retirar o .Display e tirar o comentário do comando .Send.
7 - Você deve alterar os dados dos destinatários.
Veja se assim lhe atende.
Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)
Atenciosamente
Wagner Morel
Postado : 04/06/2018 7:14 am