调用win32com.client.gencache.EnsureDispatch后的坑 object has no attribute

之前使用win32com库的时候我常用的打开方式是
excel = win32com.client.Dispatch()
readbook = excel.Workbooks.Open()
一直相安无事,从其中调用api完成对行列的增删的语句也很简单
wb.api.rows(i).delete
wb.api.rows(i).insert

最近在使用Python调用win32com库生成excel透视表的过程中,我使用了新的打开方式:
Excel = win32com.client.gencache.EnsureDispatch()
Excel.Workbooks.Open()
在调用之后,出现了可怕的问题。我在此之前所有运行正常的使用win32com库的程序都无法正常运行,只要运行到调用api语句的行就会出现提示
AttributeError: ‘’ object has no attribute ‘XXXXX’

无数次尝试后我终于发现了问题,只要使用了该语句后,即使不在该程序内,所有的调用api的语句都需要区分大小写。更改后恢复正常运行。
wb.api.Rows(i).Delete()
wb.api.Rows(i).Insert()

好大的坑!!!特此为记。

你可能感兴趣的:(笔记)