我有一个简单的过程,我使用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()
完成。
一些注意事项:
mod.macro1
也有Application.OnTime(Now + TimeValue("00:00:15"), "macro4")
来电,这可能有问题thx求助