Macro guardar en PDF y mandar el archivo el PDF por correo

Quería saber si alguien me podía ayudar a crear o modificar un macro que guarde un archivo en PDF con nombre en base a una celda que es un formato concatenar de una celda que también es consecutivo, para después este archivo en PDF mandarlo por correo.

Tengo todo por separado solo me falta unir que después de crear el PDF se mande ese PDF por correo pero no se como. ¿Alguien me podría ayudar?

Este es el código que tengo:

Sub Folio()

[M10] = [M10] + 1

     strReportName = "C:\Users\ALAVTAS\Documents\Formato de Cotizacion.xlsm"
   Dim objOutlook As Object
   Dim objMail As Object
   Dim objOutlookAttach As Object
   Set objOutlook = CreateObject("Outlook.Application")
      Set objMail = objOutlook.CreateItem(olMailItem)
   Set objOutlookAttach = objOutlook.CreateItem(olAttachMents)
      With objMail
         'A quien va dirigido el correo
         .To = "[email protected]"
         'Se especifica el asunto
         .Subject = "Cotizacion"
'Se escriben el o los archivos a adjuntar en el mail
         .Attachments.Add (strReportName)
         'Se manda el mensaje
         .Send
      End With
   'Se cierran todos los objetos utilizados
   Set objMail = Nothing
   Set objOutlook = Nothing

Dim NombreArchivo As String
NombreArchivo = Range("N10").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\ALLAVTAS\Documents" & NombreArchivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

End Sub

1 respuesta

Respuesta
1

La macro quedaría así:

Sub Folio()
[M10] = [M10] + 1
Dim NombreArchivo As String
NombreArchivo = Range("N10").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\ALLAVTAS\Documents" & NombreArchivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
     strReportName = "C:\Users\ALAVTAS\Documents\Formato de Cotizacion.xlsm"
   Dim objOutlook As Object
   Dim objMail As Object
   Dim objOutlookAttach As Object
   Set objOutlook = CreateObject("Outlook.Application")
      Set objMail = objOutlook.CreateItem(olMailItem)
   Set objOutlookAttach = objOutlook.CreateItem(olAttachMents)
      With objMail
         'A quien va dirigido el correo
         .To = "[email protected]"
         'Se especifica el asunto
         .Subject = "Cotizacion"
         'Se escriben el o los archivos a adjuntar en el mail
         .Attachments.Add (strReportName)
         .Attachments.add "C:\Users\ALLAVTAS\Documents\" & NombreArchivo & ".pdf"
         'Se manda el mensaje
         .Send
      End With
   'Se cierran todos los objetos utilizados
   Set objMail = Nothing
   Set objOutlook = Nothing
End Sub

En tu macro previamente ya estabas adjuntando un excel, ahora se adjuntará también el pdf

Recuerda finalizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas