AI软件下载
有趣网站推荐及实用软件下载

pywin32 pywintypes.com_error: (-2147417842, '应用程序调用一个已为另一线程整理的接口。

今天在使用pywin32库操作word文档的时候,每当向word文档输入内容就会报错,部分错误信息如下:

Exception ignored from cffi callback .callback_ptr at 0x0000018937783760>:
Traceback (most recent call last):
File “D:\python\NovaVoiceTyper\myenv\lib\site-packages\sounddevice.py”, line 857, in callback_ptr
return _wrap_callback(callback, data, frames, time, status)
File “D:\python\NovaVoiceTyper\myenv\lib\site-packages\sounddevice.py”, line 2735, in _wrap_callback
File “>”, line 2, in TypeText
pywintypes.com_error: (-2147417842, ‘应用程序调用一个已为另一线程整理的接口。’, None, None)

提示信息说接口被占用,大体意思就是你应用启用了多线程,最开始的那个线程创建了word应用,后面新启动的线程还是调用原来创建的那个word应用,所以会被占用,解决方法就是每次在启动新的线程的时候都创建一次word应用

如我原来代码:

word = win32com.client.Dispatch("Word.Application")
word.Visible = True  # 使Word可见

# 打开已有的文档
doc = word.Documents.Open(output_file)    
selection = word.Selection    

def callback(indata, frames, time, status):
    ......
    selection.TypeText(res) 

正确方法应该是把创建word的过程放进callback里,代码应该如下:

......
def callback(indata, frames, time, status):
    ......
    word = win32com.client.Dispatch("Word.Application")
    word.Visible = True  # 使Word可见

    # 打开已有的文档
    doc = word.Documents.Open(output_file)    
    selection = word.Selection  
    selection.TypeText(res) 

这样的话再重新运行应用,就不会报接口被占用的错误了。

领即梦AI免费积分,开启AI创作之旅:速领>>

软件催更及1对1人工答疑支持: https://nuowa.net/1806
赞(0) 打赏
软件无法使用?点击查看常见问题说明>>

最近更新

凡人修仙传动画慕沛灵高清壁纸图片,单人AI图片素材-诺瓦小站

凡人修仙传动画慕沛灵高清壁纸图片,单人AI图片素材

最近需要用到凡人修仙传动画里人物图片,直接在视频里截图的话要么身体姿势不对要么就身体不完整等,截不到想要的图,然后就炼了一批AI图,这次分享的这些都是慕沛灵的单人图片,全身照,都是高清的,由于只需要竖屏,所以我没生成横屏图片。喜欢的可以拿去...

免费在线视频去水印工具方法-诺瓦小站

免费在线视频去水印工具方法

本次分享一个免费的在线视频去水印工具–记灵 这个在线工具目前是完全免费的,上传mp4视频文件,然后鼠标框选去水印区域,然后点击处理等待处理完成就可以了,操作非常简单。 这个去水印工具是采用打码的方式覆盖原水印区域的,并不是AI智...

觉得文章对你有帮助就打赏一下作者

非常感谢你的打赏,我将有更多的动力继续提供优质内容,让我们一起创建更加美好的世界!

支付宝扫一扫

微信扫一扫