05
Июл
2017

Как избавиться от конфликта имен Excel при открытии через win32com?

Всем привет. Есть Excel 2016 (x64) и Python 2.7 (x64) с библиотекой win32com. Нужно обработать много больших файлов в формате .XLSB (openpyxl не подходит). Задача: забрать данные с одного из листов. Итак, есть такой фрагмент кода

import win32com.client as wapi
excel_app = wapi.Dispatch("Excel.Application")
excel_app.Visible = False
excel_app.DisplayAlerts = False
excel_app.ScreenUpdating = False
wbook = excel_app.Workbooks.Open(filename, ReadOnly=0)

И вот последняя строка вызывает такое окно введите сюда описание изображения

При открытии файла обычным путем, то есть через Эксель, это окно не появляется. Как его можно отключить или обйти?

Должно наверно быть какое-то свойство excel_app.SomeProperty = False

Вот здесь бы разобраться: Элементы ApplicationClass - MSDN

Вылетает еще и такая ошибка из-за разрядной несовместимости макроса введите сюда описание изображения

Можно ли как-то заблокировать/отключить/удалить макросы во время открытия файла через Python + win32com? В самом Экселе можно заблокировать.

Источник: https://ru.stackoverflow.com/questions/687456/%D0%9A%D0%B0%D0%BA-%D0%B8%D0%B7%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%D1%81%D1%8F-%D0%BE%D1%82-%D0%BA%D0%BE%D0%BD%D1%84%D0%BB%D0%B8%D0%BA%D1%82%D0%B0-%D0%B8%D0%BC%D0%B5%D0%BD-excel-%D0%BF%D1%80%D0%B8-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-win32com

Share

Тебе может это понравится...