Python-Win32com可见的false不起作用?

时间:2019-02-21 20:39:34

标签: python excel win32com

我正在尝试将Excel文件转换为PDF。我使用Print chosen worksheets in excel files to pdf in pythonPython - Converting XLSX to PDF编写了以下代码。

这可以将excel毫无问题地转换为PDF,但是会打开excel文件。我以为.Visible = False的目的是防止这种情况发生?我希望excel对象保持隐藏状态,因为我要对100多个文件执行此操作,并且我不希望excel打开100次。

import win32com.client
import os
import re

nm = 'Sample.xlsx'

excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False
wb = excel.Workbooks.Open('{0}\\{1}'.format(os.getcwd(), nm))
wb.WorkSheets('Report').Select()
nm_pdf = re.sub('.xlsx', '.pdf', nm, count = 1)
wb.ActiveSheet.ExportAsFixedFormat(0, '{0}\\{1}'.format(os.getcwd(), nm_pdf))
#excel.Quit()

1 个答案:

答案 0 :(得分:0)

以上两种方法都不适合我,但最终可以完成工作,也许对某人有用:

excel.ScreenUpdating = False
excel.DisplayAlerts = False
excel.EnableEvents = False

*在处理完文件后将其全部设置回True