Macro en Excel pero llama un mensaje del Outlook

Buen día, Maestro
De nuevo te quiero molestar, Ok
Entrando en materia, tengo una macro en Excel es esta.
Sub Mail_806()
ActiveWorkbook.SendMail Recipients:="806 System Operator", Subject:=ActiveWorkbook.Name
End Sub
Pero cuando corre ahora en el Outlook 2000 Excel mada un mensaje.
A program is trying to automatically send e-mail on your behalf
Do you want to allow this?
Como hacer para que no me salga ese mensaje.!
Ok, maestro como siempre te deseo lo mejor.
jmnobody El Salvador %

1 Respuesta

Respuesta
1
Probablemente exista alguna opción de configuración de Outlook 2000 que impida la aparición de tal mensaje.
Pero no recomiendo que la desactives. Es una forma de saber si algún virus -de los que tanto abundan- tomó control de tu libreta de direcciones y está enviando mails a tus conocidos.
Por lo tanto uncluiría al inicio de tu macro algo que impida ver los mensajes durante el lapso de envío.
Tales instrucciones serían:
Application.Screenupdating = False
Application.DisplayAlerts = False
Luego, cuando termina la rutina de envío, devuelvelas a su estado natural con:
Application.Screenupdating = True
Application.DisplayAlerts = True
Lamentablemente, no tengo la versión de Outlook que mencionas por lo cual no puedo probar la effectividad de la solución, pero entiendo que debería ser útil.
Un abrazo!
Fernando
Pd: Disculpa la demora en responder pero he tenido un par de semanas de excesivo trabajo. Espero poder liberarme un poco en los próximos días. Mientras tanto, voy contestando las preguntas según hayan entrado.
Fejoal.
Comprendo tu atrazo, por eso no tengas pena,
Bueno realize tu sugerencia, de esta manera es el resultado pero no es grato decirte que no funciona realize un practico com mi usuario y no funciono
Sub JL()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ActiveWorkbook.SendMail Recipients:="jorge mendoza", Subject:=ActiveWorkbook.Name
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Espero seguir molestándote
Jorge
Vagamente me lo imaginaba. La función: Application. DisplayAlerts
Efectivamente cancela los mensajes de la aplicación. Pero siendo esta macro disparada desde MS Excel, ésta es tal aplicación y, por tanto, cancela sus mensajes pero no los originados en otra aplicación como lo es, en este caso, Outlook 2000.
Personalmente, uso una rutina como la siguiente para el envío de archivos de MS Excel:
Sub Send_Msg()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ActiveWorkbook.Save ?graba el archivo que se pretende enviar.
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
AttachmentPath = "C:\FeJoAl\Z_VARIOS\AskMe\Models\envioXmail.xls"
With objMail
.To = "806 System Operator" ' cambia a la lista de destinatarios de correo que desees
.Subject = ActiveWorkbook.Name
. Body = "Aquí coloca el mensaje que quieres que aparezca" 'Puedes capturarlo de una celda o incluir a quí la rutina que ya tengas armada para generarlo.
'adjunta archivo
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
Else
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Problema con el path"
End If
' .Display 'muestra mensaje
.Send
End With
Set objMail = Nothing
Set objOL = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Mail enviado"
End Sub
---
Ahora bien, en MI sistema, esta rutina jamás emitió un mensaje como el que mencionas. Pero, insisto con lo dicho en mi primera respuesta, yo no tengo Outlook 2000 y, por ello, no puedo testear la solución que te ofrezco.
De todos modos, puedes intentar con esta rutina para ver si evita tal mensaje, ya que la aplicación que la origina es el mismo Outlook y no otra.
Espero que esto te ayude.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas