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

Python 在使用COM pywin32完成宏运行之前关闭Excel应用程序,python,excel,com,pywin32,win32com,Python,Excel,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.Calcul

使用
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在调用
xl.Application.Quit()
之前不会等待
Application.Run()
完成

一些注意事项:

  • 宏将打开和关闭多个文件
  • excel中的
    mod.macro1
    还有一个
    Application.OnTime(现在+时间值(“00:00:15”),“macro4”)
    调用,这可能会有问题

  • 谢谢您的帮助

    宏是否正在尝试更新文件?(只读)否,仅更新由宏打开的其他文件(非只读)宏是否尝试更新该文件?(只读)否,仅更新宏打开的其他文件(非只读)