py2exe и win32com с помощью excel

Я сделал скрипт, который меняет цвет в файле Excel. Для этого я использую:
import win32com.client as win32
excel = win32.gencache.EnsureDispatch ('Excel.Application')

Теперь я хочу создать exe-файл с py2exe. Выдает ошибку ключа ‹000208D5-0000-0000-C000-000000000046>. Я знаю, что проблема в win32com.client, но не могу ее решить.

Есть у кого-нибудь идея?

Tx


person VeVi    schedule 05.09.2013    source источник


Ответы (2)


Отказ от ответственности - это в основном предположение:

Попробуйте использовать win32.Dispatch или win32.DispatchEx. EnsureDispatch фактически создает файл .py с классом, представляющим запрошенный COM-объект, и возвращает его, поэтому он может странным образом взаимодействовать с функциональностью py2exe.

Я не знаю, как COM работает под оболочкой python, но я предполагаю, что что-то вроде этого py2exe может блокировать набор данных COM-объекта в файле makepy gencache вместо того, чтобы разрешать его динамическое создание, если в изменениях в среде выполнения.

person nitetrain8    schedule 15.10.2013

Я только что решил эту проблему. если вы хотите использовать службу win32 из com, сначала вы должны убедиться, что служба com уже запущена, чтобы проверить это, выполнив: «dcomcnfg» в командной строке, если служба com из excel запустилась правильно, вы должны увидеть «Приложение Microsoft Excel "в списке служб dcom, например: правильный результат должен быть таким, если" Microsoft Excel Приложение "отсутствует в списке, вы можете решить эту проблему с помощью Microsoft Excel или Microsoft Word не отображаются в оснастке конфигурации DCOM

person user3397682    schedule 13.06.2016