Macro guarde en PDF y envié email (un archivo por celda, el email de cada archivo está en otra celda)

Tengo dos columnas en mi excel, "A" que es el nombre de una persona y "B" que es el email de esa persona, quiero enviar un PDF a cada uno que solo contenga el archivo de su nombre, es decir: el PDF con los datos de A1 al email B1 y así consecutivamente.)

1 respuesta

Respuesta
1

Envíame un correo para enviarte mi aplicación para enviar correos masivos.

¿Lo quieres para outlook?

Mi correo: [email protected]

En el asunto pon tu nombre de usuario: "julieta gf"

¡Gracias! Lo envío entonces. ¿Se puede con otro que no sea Outlook?

Se puede con Gmail, ¿está bien?

Si, en realidad cualquiera de los dos está bien. 

¡Gracias!

Te anexo la macro para envir por Gmail

Sub Enviar_Correos_Gmail()
'---
'   Por.Dante Amor
'---
    '***Macro Para enviar correos por Gmail
    correo = "[email protected]"                 'correo gmail
    passwd = "pwd"                              'tu password
    '
    col = Range("H1").Column
    For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
        Application.DisplayAlerts = False
        Application.ScreenUpdating = False
        ruta = ThisWorkbook.Path & "\"
        '
        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 = Range("B" & i).Value           'Destinatarios
            .From = correo
            .Subject = Range("E" & i).Value      '"Asunto"
            .TextBody = Range("F" & i).Value     '"Cuerpo del mensaje"
            archivo = Range("H" & i).Value       'archivo
            If archivo <> "" Then
                If Dir(archivo) <> "" Then
                    .AddAttachment archivo
                End If
            End If
            .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
    Next
    MsgBox "Correos enviados", vbInformation, "SALUDOS"
End Sub

Más información para enviar por gmail:

Macro para enviar hoja excel por gmail


.

.

Avísame cualquier duda

.

¡Mil gracias!

Ya lo recibí, encontré una macro que me ayuda a guardar archivos en pdf en una carpeta destino especifica pero ¿cómo le hago para que me genere un PDF por cada celda de la columna A?, mi rango esta desde A1:A370 o sea generaría 370 archivos pdf. Gracias!

La aplicación que te envié es para enviar correos, toma el archivo pdf previamente creado y lo envía por correo.

Si necesitas una macro para generar los pdf, Con mucho gusto te ayudo con todas tus peticiones.

Crea una nueva pregunta en Todoexpertos.com dentro del tema de microsoft excel. En el desarrollo de la pregunta escribe: "para Dante Amor". Ahí me describes con detalle lo que necesitas.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas