|
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
|