Envio por mail yahoo desde excel

Quisiera saber si es posible hacer los siguiente:

Tengo una hoja de excel con datos desde A1 a G26 y quisiera que hiciera lo siguiente:

Que al dar a un botón me guardara ese rango en un PDF con el nombre que pone K4, en la carpeta del archivo o que me dejara elegir el destino.

Que ese archivo PDF lo mandara por mail, desde yahoo, a la dirección que ponga en K1, con el asunto que ponga en K2, con el texto del mail que ponga lo que hay en K3

¿Seria posible que hiciera todo eso?

Respuesta
-1

[Hola

Pues ambas cosas se pueden pero algo de VBA tienes que saber/entender. Para convertir en PDF lee por aquí:

https://abrahamexcel.blogspot.com/2018/03/exportando-archivos-excel-pdf.html 

Para enviar el archivo desde tu correo de Yahoo, debes usar VBA y CDO. Mira por aquí:

Intenta y vas comentando.

Abraham Valencia

Buenas,

¿Me puedes dar un correo electrónico?

Y te mando para que veas lo que quiero hacer

Un saludo

Sugiero colocar el archivo en algún "Drive" y compartir el enlace por aquí, de esa forma seremos varios los que podemos verlo y ayudarte.

Abraham Valencia

Como se hace???

https://drive.google.com/file/d/1wkzYfDF4wjsRcpuXjjkSCtr802kJwbtX/view?usp=sharing 

[Hola

En tu archivo aún no has intentado nada ¿por qué?

Abraham Valencia

Porque no tengo ni idea de como hacerlo

En casos como el tuyo las opciones son:

- Lees los artículos enviados e intentas lograrlo. Ante las dificultades vuelves a los foros pero con preguntas puntuales.

- Contratas a alguien que por un pago te haga todo.

- Tienes suerte y alguien te lo hace todo gratis (cosa que no es la finalidad de los foros).

Saludos]

Abraham Valencia

1 respuesta más de otro experto

Respuesta
1

Te anexo la macro

Sub Enviar_Correo_Por_Yahoo()
'Act.Por Dante Amor
    correo = "[email protected]"
    Password = "password"
    rango = "A1:G26"
    arch = Range("K4").Value & ".pdf"
    para = Range("K1").Value
    asunto = Range("K2").Value
    cuerpo = Range("K3").Value
    concopia = Range("K5").Value
    copiaoculta = Range("K6").Value
    '
    Set Email = New CDO.Message
    dato = "http://schemas.microsoft.com/cdo/configuration/"
    Email.Configuration.Fields.Item(dato & "smtpserver") = "smtp.mail.yahoo.com"
    Email.Configuration.Fields.Item(dato & "sendusing") = 2
    Email.Configuration.Fields.Item(dato & "smtpserverport") = 465
    Email.Configuration.Fields.Item(dato & "smtpauthenticate") = Abs(1)
    Email.Configuration.Fields.Item(dato & "smtpconnectiontimeout") = 30
    Email.Configuration.Fields.Item(dato & "sendusername") = correo
    Email.Configuration.Fields.Item(dato & "sendpassword") = Password
    Email.Configuration.Fields.Item(dato & "smtpusessl") = True
    DoEvents
    '
    ruta = ThisWorkbook.Path & "\"
    Range(rango).ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta & arch, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    '
    Email.From = correo
    Email.To = para
    Email.CC = concopia
    Email.BCC = copiaoculta
    Email.Subject = asunto
    Email.TextBody = cuerpo
    Email.AddAttachment ruta & arch
    Email.Configuration.Fields.Update
    On Error Resume Next
    Email.Send
    werr = Err.Number & " " & Err.Description
    If Err.Number = 0 Then werr = "Correo enviado"
    MsgBox "Mensaje : " & werr, vbInformation
End Sub

Pon tu información en esta parte:

    correo = "[email protected]"
    Password = "password"
    rango = "A1:G26"
    arch = Range("K4").Value & ".pdf"
    para = Range("K1").Value
    asunto = Range("K2").Value
    cuerpo = Range("K3").Value
    concopia = Range("K5").Value
    copiaoculta = Range("K6").Value

[sal u dos, no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas