win32com.gen_py.Upgrade WPS Spreadsheets 3.0 Object Library

最近开始用pywin32开展word、excel的自动化操作,记录一次自己遇到的问题。

刚开始我的代码是这样的,运行正常。

from win32com.client import Dispatch

excel = Dispatch('ket.Application') 
excel.Visible = 1
wb = excel.WorkBooks.Open('test.et')
ws = wb.Worksheets('sheet1')

后面,我把代码import和第一行改了一下,其他没变

from win32com.client.gencache import EnsureDispatch

excel = EnsureDispatch('ket.Application')
excel.Visible = 1
wb = excel.WorkBooks.Open('test.et')
ws = wb.Worksheets('sheet1')

运行出现如下错误:

AttributeError: '<win32com.gen_py.Upgrade WPS Spreadsheets 3.0 Object Library (Beta)._Application instance at 0x2068661709840>' object has no attribute 'WorkBooks'。

网上搜了一大圈,还是不知道啥情况,然后就尝试着把代码改回去,结果程序又报错了,还是提示上面的错误,这下把自己搞懵逼了。刚才都能运行,现在不能运行,简直无语了。

最后,在C:\Users\Administrator\AppData\Local\Temp文件下面发现了一个叫gen_py的文件夹,里面有个缓存记录45541000-5750-5300-4B49-4E47534F4655x0x3x0,生成时间和刚才运行程序的时间一样,我就把这个缓存文件夹删了,再次运行之前的代码,我的个乖乖,居然又好了。