Te anexo un par de ejemplos.
En esta macro le dices cuál hoja quieres en PDF y en cuál celda está el nombre del archivo. La macro genera el pdf y lo nombra. Después lo envía por gmail.
Revisa también las indicaciones en este enlace:
Macro para enviar hoja excel por gmail
Sub EnviarHoja()
'Por.Dante Amor
correo = "[email protected]" 'correo de gmail
passwd = "pwd" 'pass de gmail
hoja = "Hoja1" 'Nombre de la hoja
celda = "D9" 'celda con el nombre de archivo
'
para = "[email protected]" 'destinatario
asunto = "Hoja de Entrega" 'asunto del correo
cuerpo = "Se anexa archivo" 'cuerpo del correo
'
Set h1 = Sheets(hoja)
ruta = ThisWorkbook.Path & "\"
nombre = h1.Range(celda)
If nombre = "" Then
MsgBox "Falta el nombre de archivo"
Exit Sub
End If
'
h1.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=ruta & nombre & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
'
Dim Email As CDO.Message
Set Email = New CDO.Message
Email.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
Email.Configuration.Fields(cdoSendUsingMethod) = 2
With Email.Configuration.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = CLng(465)
.Item("http://schemas.microsoft.com/cdo/" & "configuration/smtpauthenticate") = Abs(1)
.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = correo
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = passwd
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
End With
With Email
.To = para
.From = correo
.Subject = asunto
.TextBody = cuerpo
.AddAttachment ruta & nombre & ".pdf"
.Configuration.Fields.Update
On Error Resume Next
.Send
End With
If Err.Number = 0 Then
MsgBox "El mail se envió con éxito"
Else
MsgBox "Se produjo el siguiente error: " & Err.Number & " " & Err.Description
End If
Set Email = Nothing
End Sub
En el siguiente enlace el archivo pdf ya existe y el nombre lo toma de una celda.
Macro guarde en PDF y envié email (un archivo por celda, el email de cada archivo está en otra celda)
Avísame si necesitas ayuda para adecuar el código a tus necesidades.
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.