Notifications
Clear all

VBA Converter planilha em PDF e anexar Outlook

4 Posts
3 Usuários
0 Reactions
1,382 Visualizações
 Rod
(@rod)
Posts: 1
New Member
Topic starter
 

Olá pessoal, tudo bem?
Sou um autodidata nos programas do Oficce e meu mais novo desafio é tentar entender um pouco da programação VBA, pois isso seria muito util pra mim no trabalho.
Bom, eu estou precisando de uma programação que exporte a planilha em excel para PDF ( respeitando as limitações das margens ) e anexar o arquivo no outlook
pronto pra ser enviado.

Podem me ajudar?

 
Postado : 01/07/2017 3:06 pm
felipemazz
(@felipemazz)
Posts: 59
Trusted Member
 

Amigo, sobre exportar em PDF você poderia criar uma macro, exportar e pegar o código! Mas vou quebrar este galho para você hahaha

Thisworkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "CAMINHO E NOME DO ARQUIVO COMO QUER SALVAR EM PDF", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Este código, irá exportar e l;ogo em seguida abrir o arquivo.
O caminho e nome do arquivo, deverá ser algo do genero:

C:DocumentosRelatório.pdf

Quanto a anexar no outlook, tem bastante material na internet sobre isto.
Estou saindo, portanto vou postar só isso por enquanto (não tenho tempo de encontrar a macro em meus arquivos aqui agora), mas é algo MUITO simples. Só precisa estar logado no outlook, e com o programa aberto.

 
Postado : 01/07/2017 3:28 pm
felipemazz
(@felipemazz)
Posts: 59
Trusted Member
 

(Como achei rapidamente, segue abaixo como envia, leia atentamente os códigos para entender!)

Sub Envia_Emails(EnviarPara As String, Mensagem As String)
    Dim OutlookApp As Object
    Dim OutlookMail As Object 
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMail = OutlookApp.CreateItem(0)
    With OutlookMail
        .to = "REMETENTE"
        .CC = "CÓPIA"
        .BCC = "CÓPIA OCULTA"
        .Subject = "TITULO DO E-MAIL"
        .Body = "CORPO DO E-MAIL"

        'SE QUISER QUE ABRA O OUTLOOK, ANTES DE ENVIAR O E-MAIL, PARA VOCÊ SÓ CLICAR NO BOTÃO ENVIAR, UTILIZE O COMANDO:
        .Display 
        'SE QUISER QUE ENVIE O E-MAIL DIRETO SEM ABRIR O OUTLOOK, UTILIZE O COMANDO:
        .Send


    End With 
    Set OutlookMail = Nothing
    Set OutlookApp = Nothing
End Sub

Lembre de utilizar ou o display ou o send, pois se utilizar os dois juntos, pode se confundir e enviar duas vezes o mesmo e-mail.
AH!
E precisa ativar as referencias para funcionar!

São elas:

Microsoft Office 12.0 Object Library
Microsoft Outlook 12.0 Object Library

(Para ativar, vá em ferramentas, referencias, e procure estes dois!)

 
Postado : 01/07/2017 3:33 pm
(@romanha)
Posts: 104
Estimable Member
 

Boa tarde,

Dê uma olhada neste exemplo que está aqui neste fórum se não me engano foi o Wagner que disponibilizou.

Se a resposta foi últil, gentileza, Amigo,clique na mãozinha ao lado direito da sua tela. canto superior.

" Aquele que habita no esconderijo do Altissimo, à sombra do Onipotente descansará. Salmos 91:1"

Atenciosamente.

Jason Romanha

 
Postado : 03/08/2017 12:54 pm