Win32com Python не закрывается? - PullRequest
       13

Win32com Python не закрывается?

0 голосов
/ 20 февраля 2020

Я пытаюсь закрыть лист Excel, который я открыл, используя win32com, но следующий код не работает:

from win32com import DispatchEx
xlApp = client.DispatchEx("Excel.Application")
books = xlApp.Workbooks.Open(str(main_folder) + "\\Original.xlsm")
ws = books.Worksheets["Sheet 1"]
ws.Visible = 1
ws.ExportAsFixedFormat(0, str(main_folder) + "\\Duplicated")
ws.Close()

Я получаю следующую ошибку:

"AttributeError: .Close"

Как мне решить эту проблему?

1 Ответ

1 голос
/ 20 февраля 2020

Если вы хотите закрыть рабочую книгу, вы можете сделать:

from win32com import DispatchEx
xlApp = client.DispatchEx("Excel.Application")
books = xlApp.Workbooks.Open(str(main_folder) + "\\Original.xlsm")
ws = books.Worksheets["Sheet 1"]
ws.Visible = 1
ws.ExportAsFixedFormat(0, str(main_folder) + "\\Duplicated")
books.Close()  # changed line, use books instead of ws.

Вы также можете увидеть xlwings , если у вас много дел в Excel.

...