如何使用Python禁用或自动选择VBA对话框上的'OK'(Application.DisplayAlerts = False不起作用)



我有一个脚本,可以打开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

相关内容

最新更新