问题标签 [pythoncom]
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 - 我们如何使用不同的 win32com 实例创建多个 PDF 文件?
我一直在尝试使用 DispatchEx 创建多个 pdf 文件,但是当我尝试测试我的代码时,它只创建第一个 pdf 文件,而所有其他请求都失败并出现奇怪的错误。我在做什么错和/或如何有效地同时处理多个客户呼叫以生成他们各自请求的 pdf 文件?
这是我的代码的那一部分:
PS - 代码成功创建了与发送给它的请求一样多的 ppt 副本(使用 shutil),但是当在短时间内发出多个请求时,win32com 会出错,例如 shape.AlternativeText 未找到,对象不存在等。
python - Win32Com python创建全局实例并在flask函数中使用
我目前正在尝试运行以下代码,但我不断收到错误消息
pywintypes.com_error: (-2147417842, '应用程序调用了为不同线程编组的接口。', 无, 无)
我是否需要通过单独的线程执行烧瓶功能。有没有其他方法可以创建一个全局 excel 实例并使用它来打开和修改单独的工作簿?
任何有关相同的帮助将不胜感激。
python - Win32Com Python 使用一个全局 Dispatcher 实例在 Flask 中创建多个工作簿对象
这是我试图实现的代码
问题是,每当使用烧瓶函数打开工作簿时,win32com 都会创建新线程,因此需要将 Dispatcher 对象编组到流中以将其传递给函数。我如何为 api 调用做到这一点?
我发现了一些使用 CoMarshalInterThreadInterfaceInStream 和 CoGetInterfaceAndReleaseStream 的建议,但是当对 api 进行多个并行调用时它们无法运行。
python - 未找到pythoncom模块(安装了pywin32)-带有Python2.7虚拟环境
我需要使用 Python 2.7 设置 Windows 64 位 PC 虚拟环境来运行我没有编写的脚本,我不完全确定它的用法,但它导入了 pythoncom(一个 .NET 通信模块作为据我所知)。
好像模块存在于pywin32和pypiwin32中(都安装了),我在输入“pydoc modules”和“pydoc pythoncom”时可以看到模块已经安装在环境中,但是在运行脚本时仍然无法导入模块。
我只能使用pywin32-244,它的wheel文件中有一个名为pythoncom27.dll的.dll,我似乎找不到解决方法,有人知道为什么会这样吗?(我提供的所有版本都不是可选的(对于python,包)-我无法更改它们,它们必须保持不变)
此外 - 在较新版本的 python3.x 中,它运行良好。从 python 命令行我实际上可以导入它!我有什么理由能够导入它并以所有提到的方式查看它,但仍然无法通过脚本导入它?也许脚本或我运行它的方式有问题?
也可能很重要 - 给出错误的脚本只是通过另一个脚本导入的,所以我实际上正在运行 T1.py,然后导入 T2.py,它在尝试导入 pythoncom 时给出错误...
提前致谢!奥伦
win32com - 连接到 SAP GUI 时 win32com.client.GetObject 出错
亲爱的,首先这是我第一次在 Stackoverflow 上提问,如果我没有遵循正确的方法,请原谅我。
当我遇到 win32com 的问题时,我恳请您的帮助。我正在尝试连接到 SAP GUI 以自动执行某些任务。
我收到以下错误(直到昨天一切正常..):
我找到了一些关于这个问题的文档,建议使用 pythoncom.CoInitialize():
但是我不知道如何为我的目的使用此功能。
谢谢您的帮助!
python - 使用 Python Flask Win64 第二次运行代码时出现“未调用 CoInitialize”错误(错误来自 pyttsx3)
我的 Python Flask 应用程序在 Windows 10 的 VS Code 上运行时出现一个奇怪的错误。该应用程序第一次按预期运行,但是每当我第二次运行该应用程序时,我都会收到此错误:“尚未调用 CoInitialize ”。
我试过使用 pythoncom 但这似乎没有效果。从搜索来看,pythoncom 似乎适用于 win32(我使用的是 Win64 和 64 位 python),当我尝试安装 pywin32 和 pypiwin32 时,它说它已经安装在我的设备上。
我的应用程序是一个内置于烧瓶中的 ocr/tts 应用程序。这是我的导入和 pythoncom 行:
如果有人可能知道问题所在或下一步要尝试什么,我将不胜感激。
python - PostQuitMessage 后 pythoncom.PumpMessages() 如何重新启动?
我使用挂钩来检查鼠标事件和键盘事件,并为挂钩创建一个新线程,因为我还有其他工作要做。
钩子线程一直在消耗CPU,所以我想偶尔暂停一下(为了效率)。我尝试使用 PostQuitMessage() 来停止它,然后等待在正确的时间重新启动线程和 PumpMessages()。但它不起作用。
我期待收到您的答复!
以下是代码的主要部分,您可以运行它然后会遇到问题。附言。原谅我的英语不好~_~
python - 尝试后如何正确等待检查 Excel 实例是否已关闭?
我正在使用Python 标准库模块和包中的pythoncom
andwin32com.client
模块PyWin32
与 Microsoft Excel 进行交互。
我得到一个正在运行的 Excel 实例列表作为 COM 对象引用,然后当我想关闭 Excel 实例时,我首先遍历工作簿并关闭它们。然后我执行Quit 方法,如果 Excel 进程没有终止,我会尝试终止它。
我进行检查 ( _is_process_running
) 是因为 Excel 实例可能无法成功关闭,例如,如果 Excel 进程是僵尸进程(有关如何创建进程的信息)或者 VBA 侦听关闭前事件并取消它。
我目前知道何时检查它是否关闭的古怪解决方案是使用睡眠功能。它似乎确实有效,但在某些情况下它可能会失败,例如它需要的时间比睡眠功能等待的时间长。
我认为如果Quit
方法成功,清除所有 COM 引用并收集垃圾就足以让 Excel 进程终止,但异步仍然需要一些时间。
检查在文件中类的close
方法中。_excel_application_wrapper
excel.pyw
生成Excel僵尸进程的简单代码(可以在任务管理器中查看该进程):
这仅用于测试目的,以帮助重现调用时不会关闭的 Excel 实例Quit
。
使关闭失败的另一种方法Quit
是将此 VBA 代码添加到 Excel 中的工作簿中:
文件上的代码excel_test.py
:
文件上的代码excel.pyw
:
这个答案建议通过从 COM 对象调用某些东西来检查远程过程调用 (RPC) 服务器是否不可用。我以不同的方式尝试过反复试验,但没有成功。比如在后面加上下面的代码self.Quit()
。
python - 从 python numpy 数组或列表到 COM SAFEARRAY
是否有任何内置方法或任何其他方式将 python numpy 数组/列表转换为 COM SAFEARRAY?
R中有一个类似的方法: R Matrix to COMSAFEARRAY
很奇怪,我在 python 中没有找到任何东西。
我想使用它来将数组传递给我从 python 调用的 VBA 函数。
谢谢
python - “NoneType”对象在 Windows 上没有属性“SaveAs”docx2pdf
我正在使用 docx2pdf 在 python 中将 docx 文件转换为 pdf,我的脚本需要在 windows 启动时执行(无需登录 windows)。在这种模式下,脚本在转换为 pdf 时会引发错误'NoneType' object has no attribute 'SaveAs'
。我不知道问题出在哪里,但我认为这是因为某些服务在登录 Windows 之前无法正常工作,但如果我在登录 Windows 后运行脚本,则可以正常工作。那么我怎样才能让脚本在登录到 Windows 之前工作呢?
追溯: