我正在 Windows 10 64 位、pywin32 版本 227 上通过 Anaconda 使用 Python 3.7.9。我想找出我有权读取给定组中的哪些 Outlook 日历。我尝试过 pythoncom 和 pywintypes,以及“ except”短语的各种排列。基本上,最简单的版本应该可以工作:
def toeIn(cal):
Recurs=None
for i, c in enumerate(readIterCal(cal))[0]:
try:
Recurs=c.IsRecurring
except:
pass
return Recurs
绝对没有什么可以阻止代码破坏并抛出此错误:
com_error: (-2147352567, 'Exception occurred.', (4096, 'Microsoft Outlook', "You don't have appropriate permission to perform this operation.", None, 0, -2147024891), None)
“pythoncom.com_error”:失败。 “com_error”:失败。 “pywintypes.com_error”:失败。如上所述:任何异常:失败。
我收到的错误是我问题的答案:没有权限。伟大的!我只需要处理错误,存储一些响应,然后继续。但这显然是微软的一个神奇错误?有什么办法可以屠龙,还是只是一个被诅咒的操作,不会通过?
导入
pythoncom
模块并引用其 com_error
类。
import pythoncom
def toeIn(cal):
Recurs=None
for i, c in enumerate(readIterCal(cal))[0]:
try:
Recurs=c.IsRecurring
except pythoncom.com_error:
pass
return Recurs