我正在打开并存档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)
?还是另一种解决方法?
您可以尝试使用.AlertResponse来阻止Visio中的消息框:http://msdn.microsoft.com/en-us/library/office/ff767782.aspx
即在打开图表之前,设置
Visio.AlertRespone=1
这样可以防止消息弹出。