Excel应用程序在使用COM pywin32运行宏之前关闭

时间:2017-06-08 15:10:57

标签: python excel-vba com pywin32 win32com

我有一个简单的过程,我使用win32com.client

在工作簿中调用多个宏
import win32com.client

xl = win32com.client.Dispatch("Excel.Application")
xl.Visible = True
xl.DisplayAlerts = False
xl.AskToUpdateLinks = False

# run macros
xl.Workbooks.Open(Filename="c:\test\example.xlsm", ReadOnly=1)
xl.Calculation = -4135
xl.Application.Run("example.xlsm!mod.macro1")
xl.Application.Run("example.xlsm!mod.macro2")
xl.Application.Quit()

出于某种原因,python在调用Application.Run()之前不等待xl.Application.Quit()完成。

一些注意事项:

  1. 宏打开和关闭多个文件
  2. excel中的mod.macro1也有Application.OnTime(Now + TimeValue("00:00:15"), "macro4")来电,这可能有问题
  3. thx求助

0 个答案:

没有答案