Macros que convierta a PDF y envíe por email

Necesito modificar esta macros con el fin de que al ejecutar me convierta el archivo a PDF y luego pueda adjuntarse (listo para enviar) usando Outlook. Sólo tendría que escribir la dirección de correo de quien recibe.

Esta es la Macros que me han facilitado hasta el momento para crear el PDF, y funciona perfectamente.

Sub guardaPDF()

nbreLibro = "RecBodega " & Range("E8 ") & " " & Range("E10") & " para " & Range("E11")
ruta = ThisWorkbook.Path & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ruta & nbreLibro & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox "Se ha guardado la hoja en PDF", vbInformation
End Sub

2 respuestas

Respuesta
1

.03.04.17

Buenas tardes, Fredy

Aquí te completo la rutina de creación con la de envío de mail:

Sub CreaYenviaPDF()
Dim objOL As New Outlook.Application
Dim objMail As MailItem
'rutina de creación de PDF
'
nbreLibro = "RecBodega " & Range("E8 ") & " " & Range("E10") & " para " & Range("E11")
ruta = ThisWorkbook.Path & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ruta & nbreLibro & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox "Se ha guardado la hoja en PDF", vbInformation
'rutina de Envio del PDF
'
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
AttachmentPath = ruta & nbreLibro & ".pdf"
With objMail
    .To = "[email protected]" ' cambia al destinatario de correo que desees
    .Subject = "Aquí coloca el título de tu mensaje"
    .Body = "Aqui coloca el mensaje que quieres que aparezca"
'adjunta archivo
If Not IsMissing(AttachmentPath) Then
    Set objOutlookAttach = .Attachments.Add(AttachmentPath)
Else
    MsgBox "Problema con el path"
End If
'    .Display 'muestra mensaje
    .Send
End With
Set objMail = Nothing
Set objOL = Nothing
MsgBox "Mail enviado"
End Sub

En el código indicale el destinatario, título y cuerpo del mail.

Espero que sea lo que buscas.

Un abrazo
Fernando

.

¡Gracias Fernando! 

Excelente

Fernando,

Me sale esto: Error de Compilación : No se ha definido el tipo definido por el usuario

gracias de antemano

.

Hola, Freddy

Es curioso porque funciona en mi equipo.

Por favor, ingresa al editor de Visual Basic y accede al menú Herramientas, Referencias, y activa la referencia Microsoft Office XX Object Library si no lo estuviera:

Cierra MS Excel y vuelve a ingresar para probar la rutina.

Tal vez esté faltando eso

Saludos

Fer

.

Respuesta
1

Te presento un ejemplo, uno envía la hoja el segundo envía libro en xlsx y pdf y el tercero envía pdf con un rango de datos.

https://youtu.be/JhRwXdyLVIE
https://youtu.be/sTJK_zm8nOM 

https://youtu.be/XhRJxrHKYzQ

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas