试图通过python刷新和保存.xlsm文件时,即使DisplayAlerts设置为Fals,获取文件也存在覆盖警报

2024-09-28 17:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过python脚本刷新启用宏的excel文件。我使用win32com.client包启动excel实例,刷新文件并尝试保存它。我还将DisplayAlerts设置为False。我收到了如下警告:

名为“F:\User\output\testfile.xlsm”的文件已存在。是否要覆盖它

对于我正在尝试刷新的其他xlsm文件,我没有收到此警报,即使目标文件夹中存在同名文件。下面是我用来刷新文件的代码示例:

import win32com.client as win32
xl = win32.DispatchEx('Excel.Application')
xl.DisplayAlerts = False
xl.Visible = False
xl.Interactive = False
xl.EnableEvents=False
wb = xl.Workbooks.Open(os.path.join(excel_path),ReadOnly=False, IgnoreReadOnlyRecommended =True)
xl.DeferAsyncQueries = True
wb.RefreshAll()
xl.CalculateUntilAsyncQueriesDone()
xl.DeferAsyncQueries = False
wb.SaveAs(output_filepath,ReadOnlyRecommended =False)
wb.Close(False)
xl.Quit()

有人能帮我弄清楚为什么我只收到该特定文件的警报吗? 提前谢谢


Tags: 文件pathclientfalsetrueoutput警报excel