0

我制作了一个脚本,可以更改 excel 文件中的颜色。为此我使用:
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')

现在我想用py2exe制作一个exe文件。它给出了一个密钥错误<000208D5-0000-0000-C000-000000000046>。我知道问题出在 win32com.client 上,但我无法解决。

有人有想法吗?

发送

4

2 回答 2

0

免责声明-这主要是猜测:

尝试使用 win32.Dispatch 或 win32.DispatchEx。EnsureDispatch 实际上创建了一个 .py 文件,其中包含一个表示请求的 COM 对象的类并返回它,因此它可能与 py2exe 功能发生奇怪的交互。

我不知道 COM 在 python 包装器下是如何工作的,但我猜想 py2exe 可能会锁定 gencache makepy 文件中的 COM 对象数据集,而不是允许它在更改时动态生成在运行时环境中。

于 2013-10-15T20:11:23.993 回答
0

我刚刚解决了这个问题。如果要使用 com 服务的 win32,首先要确保 com 服务已经运行,通过在命令行中执行:“dcomcnfg”来检查,如果 excel 的 com 服务已经正确启动,你应该看到“Microsoft Excel 应用程序" 在 dcom 服务列表中是这样的: 如果“Microsoft Excel 应用程序”不在列表中,则正确的结果应该是这样的,您可以通过Microsoft Excel 或 Microsoft Word 未出现在 DCOM 配置管理单元中来解决此问题

于 2016-06-13T04:04:08.920 回答