Python win32版本com客户端由于Visio错误而暂停,不会继续执行其余的代码

2024-05-19 20:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在打开和存档Visio文件。你知道吗

visio = comclt.Dispatch("Visio.Application")
wsh= comclt.Dispatch("WScript.Shell")
wsh.AppActivate("Microsoft Visio")

for i in os.listdir(path): #loops through the path
    if i[-3:]=='vsd': #checks to see if it is a visio file
        doc = visio.Documents.Open(path+'\\'+i)

但是当我打开某些Visio文件时,由于Visio文件是在另一台存在本地模具的机器上创建的,因此出现了.vss is part of workspace but cannot be opened错误。这不是问题,我可以按ok。所以我输入了发送键ENTER的代码。你知道吗

这是我的问题。我有下面的代码。但它不起作用,因为(我认为)代码在doc = visio.Documents.Open(path+'\\'+i)上暂停,直到ok被按下才继续。一旦我手动按下ok,代码将休眠2秒钟,然后继续。你知道吗

time.sleep(2)
wsh.AppActivate("Microsoft Visio")
wsh.SendKeys("{ENTER}") 

如何告诉python不要等待doc = visio.Documents.Open(path+'\\'+i)?或者是另一种解决方法?你知道吗


Tags: 文件path代码docifokopendocuments