Python模块之pywin32

◆ 问题汇总:

1、多线程使用pywin32com造成的问题:

pywintypes.com_error: (-2147221008, '尚未调用 CoInitialize。', None, None)

解决方法:

在线程启动时先运行pythoncom.CoInitialize()

import pythoncom

class SecretFile(object):
    def _save_tmpfile(self, passwd):
        pythoncom.CoInitialize()  #先运行pythoncom.CoInitialize()
        xlApp = wct.DispatchEx("Excel.Application")
        xlApp.DisplayAlerts = False
        xlwb = xlApp.Workbooks.Open(self.filename, False, True, None, passwd)
        xlwb.SaveAs(self.tmpfile, None, "")
        xlwb.Close()
        xlApp.Quit()
        del(xlApp)

你可能感兴趣的:(Python模块)