问题标签 [win32com]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - RegFree DLL 与 CPython 使用 win32com 模块
我目前正在使用 CPython 的 win32com 模块来使用 DLL。我知道有些人使用 IronPython 自动获取此 DLL 提供的函数列表。他们不需要注册 DLL。
我想和他们做同样的事情,但使用 CPython。
1)是否可以使用 CPython 和 win32com 连接到无 dll 注册。如何使其免注册?
2)如何获取DLL提供的函数列表?我想创建一个提供完整函数列表的 CPython 模块。
任何想法?
python - Python win32com:Excel 将图表类型设置为 Line
此 VBA 宏有效:
这个 Python (near) Equivalent 几乎可以工作:
除了最后一点 - 我无法将图表类型设为“xlLine”(纯线图)。有任何想法吗 ?
excel - 如何强制 Excel VBA 使用更新的 COM 服务器
我正在开发一个从 Excel VBA 使用的 COM 服务器。当我更新服务器(编辑代码、注销、重新注册)时,Excel 似乎继续使用 COM 服务器的原始版本,而不是更新版本。我发现让它使用更新版本的唯一方法是关闭并重新打开 Excel,这有点烦人。有没有办法强制 Excel 使用新注册的版本(可能是某种“清除缓存”选项)?
更多细节:
该服务器正在 Python 中使用 win32com 开发。
在 VBA 中,我正在做类似的事情:
Foo.Bar 是我在注册表中注册的 COM 服务器。
如果我取消注册服务器然后运行 VBA 代码,我会从 VBA 收到“无法创建对象”错误,因此它必须意识到正在发生某些事情。但是一旦我重新注册它就会选择旧版本。
任何提示表示赞赏!
谢谢,
安迪
python - py2exe/pyinstaller 和 DispatchWithEvents
我有一个使用 win32com 库来控制 iTunes 的程序,但在将其编译成可执行文件时遇到了一些问题。问题似乎围绕使用DispatchWithEvents
而不是Dispatch
. 我创建了一个非常简单的程序来说明我的问题:
使用Dispatch
,程序编译并正确运行。使用DispatchWithEvents
,从命令行调用时程序运行良好,但在运行 exe 时会产生以下错误:
我也尝试过使用 PyInstaller,它给出了类似的错误:
我知道我可以在我的setup.py
文件中手动添加类型库,但我想在具有不同版本 iTunes 的计算机上运行代码而不重新编译,所以我更喜欢动态创建它。如果设置/规范无法做到这一点,也许还有另一种加载事件的方法?谢谢。
添加:
多亏了 Ryan,我发现我可以获取生成的 py 文件,经过一番挖掘,能够提出以下内容。
获取生成的 py 文件(来自makepy.py
)并将其重命名为cominterface.py
. 然后您需要执行以下操作来实际创建带有事件处理程序的 COM 对象。
然后你就可以开始你的事业了。
python - 如何用python搜索和替换ms word doc中所有出现的字符串?
我现在很困惑。基于我可以使用 Win32 COM 替换 word 文档中的文本吗?我能够编写一个简单的模板系统,该系统从模板 word doc(在 Python 中)生成 word docs。
我的问题是“文本字段”中的文本不是这样找到的。即使在 Word 本身中,也没有搜索所有内容的选项 - 您实际上必须在“主文档”和“文本字段”之间进行选择。作为 Windows 世界的新手,我尝试浏览 VBA 文档,但没有找到任何帮助(可能是因为“文本字段”是一个非常常见的术语)。
这是我的代码的相关部分。我现在能够自己解决所有问题(提示:如果你想用超过 256 个字符替换字符串,你必须通过剪贴板等来完成......)
python - 如何使用win32com在python中打开写入保留的excel文件?
我正在尝试在 python 中使用 win32com 打开一个写保护的 ms excel 2007 文件——我知道密码。我可以通过用户在 Excel 对话框中输入密码来打开它。我希望能够在没有任何用户交互的情况下打开文件。我尝试了以下方法,但它仍然会弹出对话框。
请问我做错了什么?
谢谢,
戴夫。
python - win32com 相当于 xlrd 的 sheet.ncols
xlrd 可以很容易地知道最后一列是什么。
有没有使用win32com 的简单方法?
我试过使用 ws.UsedRange.Rows.Count 但这似乎没有给出正确的答案。
python - 为什么win32com比xlrd慢那么多?
我有相同的代码,使用 win32com 和 xlrd 编写。xlrd 在不到一秒的时间内执行算法,而 win32com 需要几分钟。
这是win32com:
和 xlrd
python - 在 python 中处理多个 Excel 工作簿
使用 win32com,我打开了两个工作簿。
- 你怎么知道哪个是活跃的?
- 你如何改变哪个是活跃的?
- 你怎么能关闭一个而不是另一个?(不是 Application.Quit())
python - Python win32com 使用 Bloomberg 插件打开 Excel
我正在尝试自动构建 Excel 2007 电子表格,该电子表格使用 Bloomberg 插件来拉低实时价格。问题是当我通过 win32com 打开 Excel 时,Bloomberg 插件没有加载(所以所有公式都以“#NAME?”错误结束)。
手动卸载并重新安装插件有效,但从录制的宏中复制 VBA 代码会导致“运行时错误 '13':类型不匹配”错误。我可以单击“结束”按钮,一切运行正常,但我希望完全自动化。
我的代码是:
设置 DisplayAlerts = False 不会捕获运行时错误。