我有一个脚本,可以打开Excel电子表格,然后在运行宏之前转到特定的工作表。问题是,这个宏会弹出不同的对话框,需要用户输入——我正在尝试自动化这个过程。我试图通过使用以下代码来摆脱这些盒子:
import os
impor win32com.client
xl = win32com.client.Dispatch('Excel.Application')
xl = DisplayAlerts = False #Supposed to disable alert/messages/dialog boxes
wb = xl.Workbooks.Open(os.path.abspath('Test.xlsm'), ReadOnly = 0) #Opens spreadsheet
wb.Worksheets('Assets').Activate() #Activates correct sheet
wb.Application.Run('MxRunAction') #Runs macro
wb.Clost(True)
我在许多线程上读到:
应用程序。DisplayAlerts=错误
本应解决此问题,但如果我用xl替换应用程序,则这似乎毫无作用。从这个意义上说,我用得对吗?
这将是应用程序需要关闭
xl.DisplayAlerts = False