Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Enviar Correo desde Excel con VBA 2

1,087 views
Skip to first unread message

Yrjo

unread,
Jun 3, 2009, 6:23:01 PM6/3/09
to
Hola, presenté la siguiente inquietud y más abajo está la respuesta de Héctor
Miguel, pero aún tengo problemas para saber cómo genero un seguimiento con
fecha y hora al correo enviado.

gracias

Jorge M

Q/
Buenos días, tengo una macro que envía un correo con el asunto que yo quiero
y al destinatario indicado, en una parte del código utilizo estas opciones
que me permiten hacer eso:

Set mail = CreateObject("Outlook.Application")
Set Email = mail.CreateItem(olMailItem)
Set adjuntos = Email.Attachments
With Email
.Display
.To = destinatario
.cc = cc
.Subject = Asunto
.Body = cuerpoCorreo
.Send
End With

pero quisiera saber cómo activar las demás opciones y dónde hay un listado
de estas y sus posibles valores, como por ejemplo hacer que la importancia
sea alta, que haya opciones de seguimiento, activar la confirmación de
entrega y/o lectura, etc.

Muchas gracias por la ayuda que me puedan brindar.

Héctor Miguel

hola, 'anonimo/a' !

> ... tengo una macro que envia un correo con el asunto que yo quiero y al destinatario indicado
> en una parte del codigo utilizo estas opciones que me permiten hacer eso: (...)
> pero quisiera saber como activar las demas opciones y dande hay un listado de estas y sus posibles valores
> como por ejemplo hacer que la importancia sea alta, que haya opciones de seguimiento, activar la confirmacion de entrega y/o lectura, etc.

(creo que) tu primer alternativa debiera ser usar la ayuda del modelo de
objetos de outlook, para lo cual...
-> establece una referencia a la libreria de outlook (segun tu version) a tu
proyecto de macros...
desde (menu) herramientas / referencias...
-> despues podras explorar los objetos disponibles asi como sus metodos,
propiedades, etc.
-> deberas cambiar la forma de establecer la referencia a un objeto outlook
+/- ...
de: -> Set mail = CreateObject("Outlook.Application")
a: -> Set mail = New Outlook.Application
-> y ya tendras disponible la ayuda "senstiva" desde el mismo codigo que vas
escribiendo ;)

otra alternativa es consultar directamente en el grupo de outlook

otra mas, es visitar la pagina de Ron de Bruin con sus ejemplos para envio
de correos desde excel-vba:
-> Example Code for sending mail from Excel:
http://www.rondebruin.nl/sendmail.htm

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

__ el codigo expuesto _
> Set mail = CreateObject("Outlook.Application")
> Set Email = mail.CreateItem(olMailItem)
> Set adjuntos = Email.Attachments
> With Email
> .Display
> .To = destinatario
> .cc = cc
> .Subject = Asunto
> .Body = cuerpoCorreo
> .Send
> End With


H�ctor Miguel

unread,
Jun 3, 2009, 7:50:29 PM6/3/09
to
hola, Jorge ! (por mi parte, te agradezco el "atrevimiento" de exponer tu nombre) :))


> ... aun tengo problemas para saber como genero un seguimiento con fecha y hora al correo enviado...

que has probado de las sugerencias anteriores ?
(p.e. cambiar de CreateObject(... por establecer la referencia al modelo de objetos outlook en tu proyecto vba)

una alternativa mas, es desde outlook abrir el editor de vba (atajo de teclado = alt + F11)
y desde ahi, consultar la ayuda en linea (F1) para navegar por colecciones, metodos, propiedades, etc.)

encontraras alguas propiedades utiles aplicables a objetos especificos, p.e.

Recipient.TrackingStatus
Recipient.TrackingStatusTime

MailItem.FlagRequest

(claro, segun tu version de office/outlook, podria no haber informacion de las caracteristicas nuevas o mejoradas)

tambien podrias "preguntar" al asistente de ayuda (p.e.) por conceptos como los siguientes:
seguimiento
configurar elementos para su seguimiento

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


Yrjo

unread,
Jun 3, 2009, 10:34:01 PM6/3/09
to
Hola Héctor, ya ensayé a cambiar lo de createobject y funciona bien eso,
también probé con:

.ReminderSet = True
.ReminderTime = DateAdd("n", 2, Now) ' Set to remind us 2

y funciona a medias ya que sólo me salen avisos a mí pero no a los que les
mando el correo. Mejor dicho, el objetivo final mío además de mandar un
correo a varios destinos, les salga una alerta como cuando uno manda un
correo con seguimiento y se pone en rojo.

Voy a probar lo que dices de :
Recipient.TrackingStatus
Recipient.TrackingStatusTime

MailItem.FlagRequest

y miro cómo me va

Muchas gracias

Jorge M

H�ctor Miguel

unread,
Jun 5, 2009, 12:53:33 AM6/5/09
to
hola, Jorge !

> ... funciona a medias ya que solo me salen avisos a mi pero no a los que les mando el correo
> ... el objetivo final mio ademas de mandar un correo a varios destinos


> les salga una alerta como cuando uno manda un correo con seguimiento y se pone en rojo.
> Voy a probar lo que dices de:
> Recipient.TrackingStatus
> Recipient.TrackingStatusTime
> MailItem.FlagRequest

> y miro como me va ...

(al parecer) no hay suficiente informacion compartida por la web en relacion con outlook y vba :-((
(creo que) solo quedaria hacer ensayos (algo asi como prueba y error) "en directo" con la ayuda en linea
el trabajo seria encontrar las equivalencias entre la interfaz con el usuario y el modelo de objetos en vba (?)

en via de mientras, es probable que te sea de utilidad analizar los siguientes articulos

saludos,
hector.

Enviar un mensaje con un aviso
http://office.microsoft.com/es-mx/outlook/HA100143623082.aspx

Agregar o quitar una marca para seguimiento
http://office.microsoft.com/es-mx/outlook/HA012341503082.aspx

para temas mas generales acerca de marcar mensajes
http://office.microsoft.com/es-mx/outlook/CH101032813082.aspx

Crear y hacer el seguimiento de tareas asignadas
http://office.microsoft.com/es-mx/outlook/HA012293683082.aspx

para temas mas generales acerca de las tareas
http://office.microsoft.com/es-mx/outlook/CH100744083082.aspx


0 new messages