2011-09-30 17 views
5

Cuando hago un recordatorio/cita de calendario manualmente, puedo hacer clic en "Invitar asistentes" y elegir a las personas a invitar y luego hacer clic en "Enviar" y todos recibirán ese recordatorio/cita de calendario.VBA no puede enviar una cita de calendario

Tengo el siguiente código para hacer un recordatorio programáticamente, pero no se enviará a los destinatarios previstos. Si abro el recordatorio después de ejecutar el script y hago clic en "Invitar asistentes", veo que la lista está completa con las personas a las que quiero enviar el recordatorio, por lo que no estoy seguro de por qué no está enviando el recordatorio a ellos.

¿Alguien puede arrojar algo de luz sobre esto para mí?

+0

Hm, sí, ya veo lo que quieres decir! Solo lo probé. ¡No sé por qué no se envía! +1 pregunta útil. –

+0

Lo mismo aquí. Vi una propiedad llamada "SendUsingAccount" donde puede establecer de esta manera: _Application.Session.Accounts (1) _. Harías esto antes de guardar el artículo. Todavía no tuvo ningún efecto. Cambié las cuentas (por ejemplo, lo probé en mi pop3 en lugar del servidor de Exchange de la compañía). Además, cargué una Instancia Virtual de Windows 2000 y Outlook XP y la intenté allí. Sin suerte y sin respuesta por qué no funcionó. : P Lo curioso es que en Windows 2000 recibí una ventana emergente de seguridad en la línea de envío que decía "Esta aplicación está a punto de intentar enviar algo. ¿Quieres permitir?" Yo digo que permitan pero nada. – ray

+0

Eso es mejor de lo que he logrado. La seguridad de macro indica que cualquier función de envío debe notificar al usuario antes de enviarla, por lo que debe haber hecho algo a medias ... Con suerte, alguien se encontrará con esto y tendrá una respuesta para nosotros. – FizzBuzz

Respuesta

4

Una reunión es un tipo específico de cita, una cita a la que otras personas están invitadas.

Para concertar una cita, debe hacer algo más que invitar a los asistentes. Debe establecer el estado en 'Reunión'. Agregue esto a su código:

Appt.MeetingStatus = olMeeting 

También tenga en cuenta que estableció un recordatorio, pero no estableció una hora de recordatorio. Por ejemplo,

Appt.ReminderMinutesBeforeStart = 30 

Por último, si se trata de VBA de Outlook, ¿Por qué utiliza CreateObject? Debería utilizar el objeto de aplicación nativo para derivar todos sus objetos.

es decir, en lugar de

Set olApp = CreateObject("Outlook.Application") 

que usaría

Set olApp = Outlook.Application 

HTH

+0

¡Muy apreciado JP! No me di cuenta de que necesitaba configurarlo para un tipo de reunión. – FizzBuzz

+0

bienvenido, me alegro de que funcionó – JimmyPena

Cuestiones relacionadas