当我使用win32com访问Outlook 2013时,运行代码后,Outlook的运行速度明显变慢。下面是我的代码:
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6) # "6" refers to the index of a folder - in this case,
# the inbox. You can change that number to reference
# any other folder
emails = outlook.GetDefaultFolder(6).Folders['xyz'].Folders['abc'].Items
有时我会遇到com_error:(-2146959355,“服务器执行失败”,“无”,“无”),如果事先打开了Outlook,则会运行该代码。我将不得不重新启动Outlook并将我的python env重置为恢复正常。阅读电子邮件后,Outlook中是否需要设置任何设置,或者需要执行任何特殊的python操作?
最好的问候, 杰里米
答案 0 :(得分:0)
您是否曾经退出过win32com应用程序?如果它仍与计算机上的其他程序一起运行,则会消耗内存/其他资源,并使原始Outlook速度变慢,这是我的猜测。
我确实像运行Word一样
def win32_word_dispatch(): #延迟导入win32com-在以下情况下不加载Windows / MS Office库 #他们没有被叫。 将win32com.client导入为win32 字= win32.Dispatch(“ Word.Application”) word.Visible = 0 返回字词
并尝试以以下方式将其关闭:
def close_ms_word(app): app.Quit() #问题:还必须通过调用app.Quit()退出某个地方 # 像 #http://bytes.com/topic/python/answers/23946-closing-excel-application