seguridad que programacion programa pide permiso para nombre mensaje mediante macro intentando habilitar evitar está esta enviar electrónico electronico desde correo automatico automaticamente acceso email vba excel-vba outlook scheduled-tasks

email - que - un programa esta intentando enviar correo electronico automaticamente en su nombre outlook 2013



Excel VBA-El correo electrónico no se envía cuando la computadora está bloqueada (3)

Tengo problemas para enviar correos electrónicos de Outlook utilizando Excel VBA. Tengo el código para hacerlo, Sendupdate , y funciona bien cuando ejecuto manualmente la macro. Mi segunda macro StartTimer está destinada a ejecutar lo anterior a una hora determinada cuando no estoy en mi escritorio.

Sin embargo, cuando la computadora está bloqueada, el correo electrónico no se envía. Cuando vuelvo a mi escritorio, el correo electrónico cuelga allí como borrador y necesito hacer clic en el botón send .

Aquí está mi código:

Sub SendUpdate() Recipient = "[email protected]" Subj = "update" Dim msg As String msg = "hello” HLink = "mailto:" & Recipient & "?" HLink = HLink & "subject=" & Subj & "&" HLink = HLink & "body=" & msg ActiveWorkbook.FollowHyperlink (HLink) Application.Wait (Now + TimeValue("0:00:01")) Application.SendKeys "%s" End Sub Sub StartTimer() Application.OnTime TimeValue("18:00:00"), "SendUpdate" End Sub

¿Hay alguna manera de codificar la macro para asegurarse de que el correo electrónico sea empujado?


Romperé este "Tutorial" en 3 pasos

1) Escribiendo su macro de Excel

2) Preparando su archivo vbscript

3) Establecer la tarea en el Programador de tareas de Windows

ESCRIBIR EL EXCEL MACRO

Abra un nuevo archivo en Excel y en el módulo, pegue este código

Option Explicit Const strTo As String = "[email protected]" Const strCC As String = "[email protected]" ''<~~ change "[email protected]" to "" if you do not want to CC Const strBCC As String = "[email protected]" ''<~~ change "[email protected]" to "" if you do not want to BCC Sub Sample() Dim OutApp As Object, OutMail As Object Dim strbody As String, strSubject As String strSubject = "Hello World" strbody = "This is the message for the body" Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = strTo .CC = strCC .BCC = strBCC .Subject = "This is the Subject line" .Body = strbody .Send End With On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub

Guarde el archivo de Excel como C:/Tester.Xlsm si está utilizando Excel 2007 en adelante o C:/Tester.Xls si está utilizando Excel 2003 y sale

PREPARANDO EL ARCHIVO VBSCRIPT

Abra el Bloc de notas y luego pegue este código. Cambie la extensión ".xls" según corresponda.

Dim xlApp Dim xlBook Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("C:/Tester.xls", 0, True) xlApp.Run "Sample" xlBook.Close xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing

Guarde el archivo como Tester.vbs y ciérrelo

CONFIGURACIÓN DE LA TAREA EN WINDOWS TAREA PROGRAMA

¿Podría confirmar su sistema operativo Windows? - Siddharth Rout hace 36 minutos

Windows XP. Es mi computadora de trabajo (por lo que tiene los inicios de sesión habituales, etc.). - keynesiancross hace 18 minutos

Haga clic en el botón de inicio | Todos los programas | Accesorios | Herramientas del sistema | Programar tareas para obtener esta ventana

Haga doble clic en "Agregar tarea programada" para obtener esta ventana

Haga clic en Siguiente

Haga clic en "Examinar" y seleccione el archivo vbs que creamos anteriormente y haga clic en "abrir"

La siguiente ventana que obtienes es crucial, ya que es aquí donde debemos mencionar cuándo se debe ejecutar el script

Después de haber hecho lo necesario, haga clic en siguiente.

En esta ventana, ingrese sus detalles de inicio de sesión para que la secuencia de comandos pueda ejecutarse incluso cuando su pantalla esté bloqueada.

Haga clic en "Siguiente" cuando termine y luego haga clic en "Finalizar" en la siguiente ventana. Su planificador de tareas ahora se ve así

Y has terminado

Bloquee su PC e intente tomarse un descanso para tomar café;) Cuando regrese ( dependiendo de la hora que establezca en el programador de tareas y de cuánto tiempo haya transcurrido ), el correo electrónico se habría enviado.

HTH


SendKeys es probablemente el culpable. Todavía uso CDO para enviar correos electrónicos a través de Excel VBA. Esto debería comenzar: http://www.rondebruin.nl/cdo.htm


Usé HTML e JavaScript setInterval para ejecutar código vba para superar ese problema. Código:

<html> <script> var flag = false; var xlApp; var xlBook; var i = 0; function processExcel() { //Open the excel containing macro for the first time if(flag==false) { xlApp = new ActiveXObject ( "Excel.Application" ); //Your Excel containing VBA code xlBook=xlApp.Workbooks.Open("Count1.2.xlsm") } // "a" is the VBA macro xlApp.Run("a"); flag=true; i++; window.status="Last Updated " + new Date(); } var w function run() { processExcel(); w= setInterval("processExcel()",120000); } function stop() { clearInterval(w); } </script> <body > <input type="button" value="Start" onclick="run()" /> <input type="button" value="Stop" onclick="stop()"/> </body> </html>