Python 3.7 зависает, получая начальные или конечные свойства календаря Outlook элемента назначения - PullRequest
0 голосов
/ 16 сентября 2018

Этот код работал нормально в Python 3.5.2. в той же машине.

В Python 3.7.0 он зависает, когда вы пытаетесь получить начало или конец свойства назначения. Он зависает только при первом запросе Start или End. Сообщение об ошибке не появляется.

Протестировано под Windows 10, как в командной консоли, так и на ноутбуке Jupyter.

Какой-нибудь совет или другие библиотеки должны быть включены?

import win32com.client
import datetime

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
calendar = outlook.GetDefaultFolder(9)
appointments = calendar.Items
appointments.Sort("[Start]")
appointments.IncludeRecurrences = "True"

#This block restrict the time range. Doesn't change the hang up
begin = datetime.date(2018, 9, 1)  #year, month, day
end = datetime.date(2018, 10, 1)
print(f"Activities from: {begin}, to: {end}")
restriction = "[Start] >= '" + begin.strftime("%d/%m/%Y") + "' AND [End] <= '" +end.strftime("%d/%m/%Y") + "'"
print("restriction:", restriction)
restrictedItems = appointments.Restrict(restriction)

# The problem arise accessing as a unique item
appointment = restrictedItems[1]
print(appointment.Subject)
print(appointment.Organizer)
print(appointment.Start)
print(appointment.End)

# Also hangs up inside a loop of appointments
for appointment in restrictedItems:
    print(appointment.Subject)
    print(appointment.Organizer)
    print(appointment.Start)
    print(appointment.End)

1 Ответ

0 голосов
/ 01 октября 2018

Для Python 3.7.0 вам нужно использовать pywin32 224 (последняя версия сегодня).Спасибо Марку Хаммонду, который создал эту новую версию pywin32, которая решает проблему.

...