Macro para enviar automáticamente correos y programada para que sean todos los días a la misma hora

Quisiera que me ayudaran con una macro que pueda enviar correos automáticamente, yo ya he iniciado una macro que envía correos pero el problema es que lo hace "manual" porque tengo que darle "enviar" cuando me abre el outlook, yo necesito que cuando le de el botón se envíe el correo automáticamente.

La macro que tengo es esta:

Sub correo()

Range("m6:o20").Copy

Set parte1 = CreateObject("outlook.application")

Set parte2 = parte1.createitem(olmailitem)

parte2.to = "[email protected]"

parte2.cc = "[email protected]"

parte2.Subject = "Alerta diaria de vencimiento"

parte2.display

Application.SendKeys "^v"

Set parte1 = Nothing

Set parte2 = Nothing

End Sub

,

Por otro lado, quisiera que esa macro siempre se ejecute a las 5:00pm de todos los días .Como podría hacerlo, ¿y si es posible hacerlo sin la necesidad de tener el archivo abierto?

1 Respuesta

Respuesta
1

Para lo primero que pides, tienes que aregar la instrucción: parte2. Send, quedaría así

Sub correo()
Range("m6:o20").Copy
Set parte1 = CreateObject("outlook.application")
Set parte2 = parte1.createitem(olmailitem)
parte2.to = "[email protected]"
parte2.cc = "[email protected]"
parte2.Subject = "Alerta diaria de vencimiento"
parte2.display
Application.SendKeys "^v"
part2.Send
Set parte1 = Nothing
Set parte2 = Nothing
End Sub

Hice el cambio pero no da resultado 

Ahora vuelve a correr pero siempre tengo que dar el "enviar" manual y al final me aparece el mensaje de error 424

Hay alguna situación con excel 2010? 

Definitivamente es la versión, vamos a intentar lo siguiente, veo que estás copiando un rango de celdas y lo estás pegando en el cuerpo del correo, tal vez está intentado pegar en otra parte.

Prueba con lo siguiente:

Sub correo()
'Mod.Por.DAM
    Range("m6:o20").Copy
    Set dam = CreateObject("outlook.application").createitem(0)
    dam.to = "[email protected]"
    dam.cc = "[email protected]"
    dam.Subject = "Alerta diaria de vencimiento"
    Dam. Display
    Application. Wait Now + TimeValue("00:00:02")
    DoEvents
    Application.SendKeys "^v", True
    Application. Wait Now + TimeValue("00:00:02")
    DoEvents
    Part2. Send
End Sub

El envío va a demorar 4 segundos, eso es para darle tiempo a que se abra el mail y poder pegar el rango.

Buenas

Gracias, pero aún no lo envía automático, lo copia y se queda ahí, y me da error y en la depuración marca el "send"

Ni modo, parece que no le va a dar la gana a la macro ejecutarse bien

Perdona

Quita esto

Parte2. Send

Y pon esto

Dam. Send

Prueba de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas