我正在打开和归档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)?还是解决这个问题的另一种方法?
发布于 2014-10-01 15:16:32
可以尝试使用.AlertResponse来防止Visio:http://msdn.microsoft.com/en-us/library/office/ff767782.aspx中的消息框。
也就是说,在打开图表之前,设置
Visio.AlertResponse =1
这应该可以防止消息的出现。
https://stackoverflow.com/questions/26133470
复制相似问题