非常抱歉,让我来尝试解决这个问题。出现 `pywintypes.com_error: (-2146777998, 'OLE error 0x800ac472', None, None)` 错误通常是由于 Excel 进程未正确释放引起的。在使用 pywin32 操作 Excel 时,需要确保及时关闭 Excel 应用程序,并释放对应的进程资源。请尝试以下代码:
import win32com.client
path_cb = path1 + '/' + file_small
xl = win32com.client.Dispatch("Excel.Application")
wb = xl.workbooks.open(path_cb)
xl.Visible = False
wb.Save()
wb.Close()
# 释放对 Excel 应用程序的引用
xl.Quit()
del xl
如果这样仍然无法解决问题,可以尝试使用 `win32com.client.gencache.EnsureDispatch` 来代替 `win32com.client.Dispatch`,这样可以确保 PyWin32 使用缓存的类型信息,从而减少错误的发生。
import win32com.client.gencache
path_cb = path1 + '/' + file_small
xl = win32com.client.gencache.EnsureDispatch("Excel.Application")
wb = xl.workbooks.open(path_cb)
xl.Visible = False
wb.Save()
wb.Close()
# 释放对 Excel 应用程序的引用
xl.Quit()
del xl
如果还有其他问题,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |