He escrito una macro que repite en un calendario de usuarios y hace modificaciones a las entradas que cumplen un determinado criterio.Iteración rápida a través de elementos de citas de Outlook
El problema es que cuando el calendario es muy grande, esto lleva mucho tiempo. Parece que no puedo filtrar las citas porque oAppointmentItems
parece almacenar las entradas a medida que se crearon, lo que no es necesariamente el mismo orden que cuando comienzan.
El código que estoy usando es la siguiente:
Dim oOL As New Outlook.Application
Dim oNS As Outlook.NameSpace
Dim oAppointments As Object
Dim oAppointmentItem As Outlook.AppointmentItem
Set oNS = oOL.GetNamespace("MAPI")
Set oAppointments = oNS.GetDefaultFolder(olFolderCalendar)
For Each oAppointmentItem In oAppointments.Items
DoEvents
' Something here
Next
Set oAppointmentItem = Nothing
Set oAppointments = Nothing
Set oNS = Nothing
Set oOL = Nothing
corto de la eliminación de la DoEvents
(que sólo significa que Outlook parece encerrar al usuario) ¿hay alguna manera de que pueda acelerar este proceso mediante la aplicación de algún tipo de filtro? Por ejemplo, citas que comienzan en el futuro.
esto era exactamente lo que estaba buscando para hoy! Esto me ha ahorrado tantos problemas. Sin embargo, una cosa que noto es que no puedo hacer que funcione con un filtro de fecha usando =, y es difícil obtener una fecha exacta (parece depender de si son una fecha o una fecha/hora en Outlook). Me gusta> Fecha - 1 día y Fecha y fecha
Jeff
Usando el enlace anticipado en VBA, ¿cómo deben ser olvidados los artículos? (Panorama.???). Gracias .. –
@iDevlop como Outlook.MAPIFolder AFAIK. – Fionnuala