以下模板是使用 Synergy API 和 VBScript 绑定的建议起点。
将说明性注释放在脚本的开头是很好的做法。要确保调用特定版本的 Synergy,第一行必须为:
'%RunPerInstance
下面列出了以下行及其功能。
Option Explicit
Option Explicit 表达式有助于减少编程错误。脚本中包含此行时,如果使用变量前未声明该变量,则会导致错误。
SetLocale("en-us")
SetLocale 选项强制非英语系统以英语解释数字值。如果未包括此设置,那么数值将以系统的本机语言进行解释。这将在使用逗号代替句号的地方(例如德国)产生问题。
Dim SynergyGetter, Synergy On Error Resume Next Set SynergyGetter = GetObject(CreateObject("WScript.Shell").ExpandEnvironmentStrings("%SAInstance%")) On Error GoTo 0 If (Not IsEmpty(SynergyGetter)) Then Set Synergy = SynergyGetter.GetSASynergy Else Set Synergy = CreateObject("synergy.Synergy") End If
这些行将创建用于启动 Synergy(Autodesk Moldflow 用户界面)的 OLE 自动化对象。如果不使用 Option Explicit 行,则不需要声明 Synergy 变量的 Dim(变量声明)行。但是,建议始终声明变量。
Synergy.SetUnits "METRIC"
默认情况下,“ENGLISH” 可替代 “METRIC” 以使用美制单位。
'%RunPerInstance '@ '@ DESCRIPTION '@ '@ '@ SYNTAX '@ TheFirstLines '@ '@ PARAMETERS '@ none '@ '@ DEPENDENCIES/LIMITATIONS '@ none '@ '@ History '@ Created DRA 9/8/2006 '@@ Option Explicit SetLocale("en-us") Dim SynergyGetter On Error Resume Next Set SynergyGetter = GetObject(CreateObject("WScript.Shell").ExpandEnvironmentStrings("%SAInstance%")) On Error GoTo 0 If (Not IsEmpty(SynergyGetter)) Then Set Syn = SynergyGetter.GetSASynergy Else Set Syn = CreateObject("synergy.Synergy") End If Synergy.SetUnits "METRIC" ' ' Put remainder of code here. ' MsgBox "Script Complete" Wscript.Quit