如何强制python(使用win32com)创建一个新的excel实例?

时间:2011-03-15 10:15:21

标签: python excel com

我正在自动执行一些需要很长时间的excel相关任务。

我正在使用:

创建一个excel实例
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()

然而,在脚本开始运行后,如果我选择一个打开的excel工作簿(不是一个python正在处理),python脚本崩溃。但是,如果我打开一个新的excel工作簿并在其中键入内容,则python脚本不受影响。

有什么特别的方法可以调用excel来防止这种情况发生吗?还是其他任何解决方案?

编辑:这似乎有效。

excel = win32.DispatchEx('Excel.Application')

2 个答案:

答案 0 :(得分:2)

这是一种创建新实例的方法使用静态缓存(速度更快,并且能够使用kwargs):

mget

答案 1 :(得分:0)

你为什么不这样做?

from win32com import client
excel=client.Dispatch("Excel.Application")