Enviar correos con vba

09/05/2008 - 02:27 por Qualitas2003 | Informe spam
Para enviar correos con vba utilizo una rutina que encontré hace un tiempo
atrás aqui en la página de ayuda, uso el sgte. código:

Private Sub EnvCorreos()
Set OLF = GetObject("",
"Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set olMailItem = OLF.Items.Add

With olMailItem

.Subject = "REPORTE DE PRENDAS AL " & Date
.BodyFormat = olFormatHTML
.HTMLBody = "<HTML><BODY><font face = arial size = -1>El día de hoy "
& CStr(Date) & " hemos efectuado búsqueda de Operaciones Pendientes de
entrega, habiendo ya transcurrido tiempo prudencial para su " & _
"devolución, agradeceremos realizar las verificaciones
respectivas para los documentos del reporte alcanzado.<BR><BR>" & _
"Atentamente,<BR><BR>" & UsuActual & "</BODY></HTML>"
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
' .Display
.Send
End With
End Sub

El envío marcha bien, sólo que me aparecen dos cuadros del Outllok que
quisiera evitar, uno me dice que un agente externoestá quierndo usar mi
libreta de direcciones, permitiendome autorizar por algunos minutos el uso de
la libreta, luego aparece un cuadro de progerso donde al terminar de cargar
recién debo dar click para que el correo sea enviado. ¿Conoce alguien cómo
puedo evitar estos filtros?
Desde ya, muchas gracias.
Qualitas2003
 

Leer las respuestas

#1 Héctor Miguel
09/05/2008 - 04:12 | Informe spam
hola, 'anonimo/a' !

__ 1 __
Para enviar correos con vba utilizo... el sgte. codigo: (...)
... solo que me aparecen dos cuadros del Outllok que quisiera evitar
uno me dice que un agente externo esta quierndo usar mi libreta de direcciones
permitiendome autorizar por algunos minutos el uso de la libreta



1) para brincar el aviso de seguridad (envios por outlook)... va a ser indispensable...
o... usar complementos de terceros (como el ClickYes comentado en la pagina de Ron)
-> http://www.rondebruin.nl/mail/prevent.htm
o... usar la opcion de CDO -> http://www.rondebruin.nl/cdo.htm (necesitaras de ligeras modificaciones)
o... bajar el nivel de seguridad en tu servidor de correos (outlook ?) <= poco/nada... recomendable

__ 2 __
luego aparece un cuadro de progerso donde al terminar de cargar
recien debo dar click para que el correo sea enviado...



2) el codigo que usas (al igual que el metodo SendMail) lo unico que hace es...
depositar el envio en la bandeja de salida del sistema de correo instalado en la pc

a) si (outlook ?) se esta ejecutando... el envio es de inmediato... en caso contrario... hasta que lo abras
(con las consabidas advertencias -de outlook- de que alguien esta intentando enviar...)

b) obtienes el mismo resultado si (desde cualquier aplicacion de office) usas el menu/comando/boton...
-> archivo / enviar a... -> destinatario de correo (o sea)... el -> ActiveWorkbook.EnvelopeVisible = True
desde donde podras personalizar asunto, comentario, decidir si envias la hoja o un rango seleccionado, etc.
solo se requiere que outlook y office sean de la misma version_numero (por si las dudas)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares