Notifications
Clear all

MACRO ENVIO DE EMAIL pdf COM ERRO

3 Posts
2 Usuários
0 Reactions
949 Visualizações
(@palmanhani)
Posts: 0
New Member
Topic starter
 

Pessoal,

Uma ajuda, copie essa macro que um colega aqui no forum enviou, estava funcionando e não sei oque fiz que parou de apagar o arquivo temporario em pdf.
POderiam me ajudar e explicar o erro.

Obrigado

 
Postado : 22/08/2016 8:32 am
(@engeel2014)
Posts: 207
Reputable Member
 

Amigo, troque seu código por este, ele é mais simples e faz a exclusão do arquivo temporário, conforme deseja. Teste ai e dê um retorno.

Sub Enviar_Email_com_PDF()

    '========================================================
    'Essa macro requer que sejam acrescentadas as referências
    'Microsoft Outlook 12.0 (ou maior) Object Library
    'Microsoft Scriping Runtime
    '========================================================

    Dim OL As Object
    Dim EmailItem As Object
    Dim Wb As Workbook
    
    Application.ScreenUpdating = False
    Set OL = CreateObject("Outlook.Application")
    Set EmailItem = OL.CreateItem(olMailItem)
    ActiveSheet.UsedRange.Select
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ActiveWorkbook.Path & "Temp.pdf", Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
    
    With EmailItem
        .Subject = "Pedido Nike do Brasil"
        .Body = "Segue anexo Pedido de materiais de limpeza." & vbCrLf & _
        "" & vbCrLf & _
        "Obrigado!"
        .To = "rodrigo.palmanhani@nike.com"
        .CC = "fabiola.sousa@nike.com"
        .Importance = olImportanceNormal
        .Attachments.Add ActiveWorkbook.Path & "Temp.pdf"
        .Send
        
        MsgBox "PEDIDO ENVIADO COM SUCESSO!", vbInformation, "ENVIADO"
    End With
    
    Application.ScreenUpdating = True
    
    Set Wb = Nothing
    Set OL = Nothing
    Set EmailItem = Nothing
    
    Kill Caminho & "Temp.pdf"
    
End Sub
Function Caminho() As String
Caminho = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "")
End Function
 
Postado : 23/08/2016 4:11 pm
(@palmanhani)
Posts: 0
New Member
Topic starter
 

Muito obrigado .... boa semana

Amigo, troque seu código por este, ele é mais simples e faz a exclusão do arquivo temporário, conforme deseja. Teste ai e dê um retorno.

Sub Enviar_Email_com_PDF()

    '========================================================
    'Essa macro requer que sejam acrescentadas as referências
    'Microsoft Outlook 12.0 (ou maior) Object Library
    'Microsoft Scriping Runtime
    '========================================================

    Dim OL As Object
    Dim EmailItem As Object
    Dim Wb As Workbook
    
    Application.ScreenUpdating = False
    Set OL = CreateObject("Outlook.Application")
    Set EmailItem = OL.CreateItem(olMailItem)
    ActiveSheet.UsedRange.Select
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ActiveWorkbook.Path & "Temp.pdf", Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
    
    With EmailItem
        .Subject = "Pedido Nike do Brasil"
        .Body = "Segue anexo Pedido de materiais de limpeza." & vbCrLf & _
        "" & vbCrLf & _
        "Obrigado!"
        .To = "rodrigo.palmanhani@nike.com"
        .CC = "fabiola.sousa@nike.com"
        .Importance = olImportanceNormal
        .Attachments.Add ActiveWorkbook.Path & "Temp.pdf"
        .Send
        
        MsgBox "PEDIDO ENVIADO COM SUCESSO!", vbInformation, "ENVIADO"
    End With
    
    Application.ScreenUpdating = True
    
    Set Wb = Nothing
    Set OL = Nothing
    Set EmailItem = Nothing
    
    Kill Caminho & "Temp.pdf"
    
End Sub
Function Caminho() As String
Caminho = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "")
End Function
 
Postado : 24/08/2016 6:01 am