看不出这个id会如何帮助你。我怀疑你的visio错误。你试过吗?
on error resume next
</code>
并且在每行之后可能会出错
if err.number <> 0 then
wscript.echo err.description
err.clear
end if
</code>
如果省略参数似乎存在问题,请全部使用它们。
看到
http://msdn.microsoft.com/en-us/library/office/ms409271(v=office.12).aspx
对于价值观。
在退出之前使用
document.saved = true
,您可以先检查结果文件是否存在。
编辑:检查进程是否正在运行,可能是您必须调整服务名称(检查您的t askmanager)
set service = GetObject (“winmgmts:”)
for each Process in Service.InstancesOf (“Win32_Process”)
If lcase(Process.Name) = “visio.exe” then
wscript.echo “visio still running”
wscript.quit
End If
next
wscript.echo “visio no longer running”
</code>
EDIT2:获取活动visio应用程序的processid(如果有多个Visio实例正在运行,GetObject将返回活动实例。当程序作为加载项运行或双击形状时,活动实例是一个是程序运行的。否则,它是最近运行或带到前面的实例。如果没有运行Visio实例,GetObject会导致错误)
CFR
http://webmail.vh.com.tw/Microsoft/Developing%20Microsoft%20Visio%20Solutions/27.htm
set appObj = GetObject(, “visio.application”)
if appObj Is Nothing Then
wscript.echo “There is no active Visio.”
else
wscript.echo “ProcessID: “ & appObj.ProcessID
end if
</code>