vba calendar outlook-vba appointment

VBA no puede enviar una cita del calendario



outlook-vba appointment (1)

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

Para hacer una cita, es necesario 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

Finalmente, si esto es Outlook VBA, ¿por qué está utilizando 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")

usarías

Set olApp = Outlook.Application

HTH

Cuando hago un recordatorio / cita de calendario manualmente, puedo hacer clic en "Invitar asistentes" y elegir a las personas a las que invitar y luego hacer clic en "Enviar" y todos recibirán ese recordatorio / cita del 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í?

Private Function CreateAppointment(SubjectStr As String, BodyStr As String, StartTime As Date, EndTime As Date, AllDay As Boolean) Dim olApp As Outlook.Application Dim Appt As Outlook.AppointmentItem '' Only create the reminder if there''s no duplicate If (CheckForDuplicates(SubjectStr) = False) Then Set olApp = CreateObject("Outlook.Application") Set Appt = olApp.CreateItem(olAppointmentItem) Appt.Recipients.Add ("John Doe") Appt.Recipients.ResolveAll Appt.Subject = SubjectStr Appt.Start = StartTime Appt.End = EndTime Appt.AllDayEvent = AllDay Appt.Body = BodyStr Appt.ReminderSet = True Appt.Save Appt.Send End If Set Appt = Nothing Set olApp = Nothing End Function