Ir ao conteúdo

Excel Enviar e-mail com Excel via Outlook (VBA)


Ir à solução Resolvido por RafaVillani,

Posts recomendados

Postado

Olá. Tenho esta macro abaixo para enviar email com o outlook anexando um pdf.

Está dando erro nessa linha:

Set outl = CreateObject("outlook.application")

 

Alguém poderia me ajudar a solucionar isto? segue o código e a planilha em anexo:

Sub enviar_EMAIL()
Call Desprotege

If Worksheets("ficha_treino").Range("a14").Value = "" Then
MsgBox "Pelo menos a primeira linha da tabela deve ser preenchida", vbInformation, "Erro"
Exit Sub
End If

 'SalvarPDF Macro
     Sheets("ficha_treino").Select
     ID = Worksheets("ficha_treino").Range("a9")
     NOME = Worksheets("ficha_treino").Range("d7")
     pdf = ThisWorkbook.Path & "\" & NOME & " - Ficha " & ID & ".pdf"
     
     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
     Filename:=pdf

'atualizar numeração
Sheets("FICHA_TREINO").Select
    Range("A9").Select
    Selection.Copy
    Sheets("STAFF").Select
    Range("A60000").End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Sheets("FICHA_TREINO").Select
    Application.CutCopyMode = False
    
MsgBox "Treino de " & NOME & "" & Chr(13) & "PDF salvo e email enviado", vbInformation, "Email e PDF"
    
' limpartudo Macro
    Range("D7:E7").Select
    Selection.ClearContents
    Range("D8:E8").Select
    Selection.ClearContents
    Range("B10:E10").Select
    Selection.ClearContents
    Range("B11:E11").Select
    Selection.ClearContents
    
    Planilha9.ListObjects("Tabela11").DataBodyRange.Delete
    
   
    Range("D7:E7").Select
    
Dim outl As Object, novo_email As Object
Set outl = CreateObject("outlook.application")
Set novo_email = outl.CreateItem(0)
With novo_email
.Display
.To = UserFormEmail.TextBoxEndEmail.Value
.CC = "[email protected]"
.Attachments.Add pdf
.Subject = "Ficha de treino PHYSICAL"
.Body = "Olá aluno(a), segue em abaixo sua ficha de treino. Bons treinos!"
.Send
End With

Call Protege
ActiveWorkbook.Save
End Sub

 

 

PHYSICAL.rar

Postado

@RafaVillani Deu certo,

17 horas atrás, RafaVillani disse:

@Jefferson TSVocê habilitou a biblioteca Microsoft Outlook 12.0 Object Library?

 

Dentro do VBA, menu Ferramentas, Referências, selecione a biblioteca e aperte OK.

 

RafaVillani

Marquei outros 3 itens que tinham outlook no nome e deu certo. Obrigado.

  • 11 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...