Inicio > Microsoft Excel > fejoal > Macro en Excel pero llama un mensaje del Outlook

Macro en Excel pero llama un mensaje del Outlook

Experto:
Usuario:
Fecha: 22/09/2003
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
04/09/2003
jmnobody, usuario preguntando en Microsoft Excel
Usuario
Buen dia, 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 %
11/09/2003
jmnobody, experto respondiendo en Microsoft Excel
Experto
Hola, Jorge

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 proximos dias. Mientras tanto, voy contestando las preguntas según hayan entrado.
12/09/2003
jmnobody, usuario preguntando en Microsoft Excel
Usuario
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 molestandote

Jorge
16/09/2003
jmnobody, experto respondiendo en Microsoft Excel
Experto
Hola, 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 = "Aqui 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
22/09/2003
jmnobody, usuario preguntando en Microsoft Excel
Usuario
Gracias por responderme Simpre.

Jorge Mendoza
Enlaces patrocinados