Saltar al contenido

macro para enviar mail con adjunto

publicado

Buenos días, 

Tengo un macro que permite enviar mail con 1 adjunto que hasta hace nada funcionaba perfectamente pero ahora me da error. Me podéis ayudar?

image.png.7f9259d4d25894288b2ab434a53a74c7.png

Featured Replies

publicado

Hola

¿Sale algún mensaje de error? ¿no será que hay otra macro con el mismo nombre? Igual mejor borra el On Error Resume Next, es una mala costumbre usarlo a menos que sea estrictamente necesario. Luego vuelve a correr la macro y comenta qué línea se marca y cuál es el mensaje exacto de error.

publicado
  • Autor

Acabo de probar con un pdf y ahora sí me funciona. 

Por cierto si quisiera añadir más de un adjunto, como tendría que modificarlo?

 

publicado
  • Autor

Gracias, 

Del problema anterior es que sólo me funciona si lo vinculo directamente. 

Yo lo que tengo anotado en una celda a parte (I5) , es la ruta que necesito concatenada. 

Y en la celda C7 uso un   = I5

 

publicado

Hola de nuevo,

 

Concatena la ruta en la propia macro....

Ruta = "c:\"
NomCarpeta = "pdfs\"

fichero=range("c7")

adjunto = Ruta &  NomCarpeta & fichero
 

 

publicado
  • Autor

Hola Luis, 

No he podido centrarme en este tema hasta hoy. 

No se como incluir esos parámetros nuevos, dentro de la macro.

Me puedes echar una mano, por favor

publicado

Hola favor necesito de vuestra ayuda!!! mi problema es que quiero adjuntar un solo archivo (ya creados en pdf) a cada dirección de correo que esta en la columna 14 y filas 1 en adelante; y desde el segundo correo me va adjunto el archivo anterior más el correspondiente de fila 2; en el tercero, los dos anteriores, más el de la tercera fila y así sucesivamente. Favor vuestra ayuda en .AddAttachment

Les dejo todo el código: 

Sub SendMail_Gmail()
Dim Email As CDO.Message
Set Email = New CDO.Message

correo = "[email protected]"
passwd = "123456789"
mensaje = Range("A1")
cuerpo = Range("B1")
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
For i = 1 To 10

    'El valor de i se pone en la celda F4 para que con BUSCARV se devuelvan
    'los datos correspondientes al ID para encontrar la dirección de correo del destinatario
    'al ir cambiando F4 se cambia la dirección en B5
    ThisWorkbook.Sheets("Resumen").Range("F4").Value = i
    
    .To = ThisWorkbook.Sheets("Resumen").Range("B5").Value
    .From = correo
    .Subject = mensaje
    .TextBody = cuerpo
    .AddAttachment Sheets("resumen").Cells(i, 14).Value 'celdas de rutas de archivo a adjuntar en cada correo, un archivo por correo
      
    .Configuration.Fields.Update
    On Error Resume Next
    .Send
    
Next i

End With

    If Err.Number = 0 Then
        MsgBox "El mail se envió con éxito", vbInformation, "Informe"
    Else
        MsgBox "Se produjo el siguiente error: " & Err.Description, vbCritical, "Error nro " & Err.Number
    End If

End Sub

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.