Python - win32com可见false不起作用?

问题描述 投票:1回答:1

我想将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()
python excel win32com
1个回答
0
投票

上面的两种方法都不适用于我,但最终它完成了这项工作,也许它会对某些人有用:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.