Enviar mail con pdf adjunto desde excel. Macro.
Tengo un código en Visual Basic para que desde un archivo excel (p.e. Factura) ésta se convierta en un .pdf y automáticamente se anexe en un correo de outlook, listo para enviar. Está tomada de un tutorial de youtube pero me da error al ejecutarla. No soy experto aunque me he tomado mucho tiempo en ver el error que no acierto a solucionar. Agradezco que algún experto me eche un cable. Este es el código (pongo en negrita el párrafo donde me da el error (Argumento o llamada a procedimiento no válida)):
Sub correoeVpagsPDF()
Dim nfac, cliente, Email, ruta, LIBRO, ahora, ArchivoPdf As String
Dim ProgCorreo, CorreoSaliente As Object
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With
Set nfac = Range("D2")
Set cliente = Range("D5")
Set Email = Range("D11")
ruta = ThisWorkbook.Path & "\Correoe\"
ahora = Application.WorksheetFunction.Text(Now(), "dd.mm.yy- hh.mm")
LIBRO = nfac & "-" & cliente & "-" & ahora & ".pdf"
ArchivoPdf = ruta & LIBRO
Set ProgCorreo = CreateObject("Outlook.Application")
Set CorreoSaliente = ProgCorreo.CreateItem(0)
With ActiveSheet
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ArchivoPdf, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With
On Error Resume Next
With CorreoSaliente
.to = Email
.CC = "[email protected]"
.BCC = ""
.Subject = "Envío de su factura nº " & nfac
.Body = "Estimados Sres.:" & Chr(13) & _
"Nos complace realizar el envío de la factura del asunto, según nuestro acuerdo." _
& Chr(13) & "Atentamente..."
.Attachments.Add ArchivoPdf
.Display 'o .Send para enviar sin ver
End With
On Error GoTo 0
Set CorreoSaliente = Nothing
Set ProgCorreo = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
End With
End Sub