Python - win32com видимый false не работает? - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь преобразовать файл Excel в PDF.Использование Печать выбранных рабочих листов в файлах Excel в pdf в python и Python - преобразование XLSX в 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 голосов
/ 05 апреля 2019

Ни один из вышеперечисленных методов для меня не сработал, но, наконец, это сработало, возможно, кому-то это пригодится:

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

* установите все обратно на True после завершения обработкифайл.

...