如何使用Python在VBA对话框上禁用或自动选择“确定”(Application.DisplayAlerts = False不起作用)

时间:2018-12-04 06:48:12

标签: excel vba python-3.x pywin32 win32com

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

我读过许多线程,

  

Application.DisplayAlerts = False

应该可以解决此问题,但是如果我用 xl 代替 Application ,这似乎无济于事。我在这种意义上是否正确使用它?

1 个答案:

答案 0 :(得分:0)

那是应用程序需要关闭

xl.DisplayAlerts = False