- 不久:
代码CATIA.SystemService.ExecuteScript(sPath, 0, sName + ".CATScript", "CATMain", aParams) ;
抛出错误类型不匹配,我不明白,因为在 IE11(我知道,但我必须)调试器中,CATIA.SystemService 的手表为我提供了方法 ExecuteScript 的相同参数列表,并且此调用正在运行脚本。如何获取参数类型的详细信息?我怎么知道哪个 var 导致了这个错误?我所有的变量都被声明(使用严格)。
- 详细说明:
我试图弄清楚如何使用 HTML 接口保存大量函数来运行通过 VBscripts 启动的 CATscripts(Catia 宏,VBscript 之类),从我的公司从 IE8 过渡到 IE11(这里没有选择) . 正如在 MSDN和Stackoverflow中讨论的那样(我显然已经尝试了所有解决方案,并且兼容性设置不可激活),VBscript 支持在 IE11 中停止
我有两种功能:一些是静态的,并存储在我们的 Intranet 网站上。他们仍然在 IE11 上工作(如果我理解的话,边缘模式,虽然我无法找到它的确切含义)
但其他一些是在用户计算机上即时编写的,以生成反映 Catia 中当前内容的界面。这些在 IE11 上不再起作用,并且是最重要的。似乎它们被认为是“互联网区域”,因为它们是本地编写的,所以我不明白。这是为了防止恶意软件吗?
这是我从 HTML 调用函数的方式:
<input type='button' value='00-10' onclick='StartScript(me)' id='import-zip-from-DB'/>
这是VBscript(简化但功能强大):
Sub StartScript(button)
Dim aParams()
Dim sName
Dim sPath
Dim CATIA
sName = button.Id
sPath = "C:\temp\"
'Get Catia object
Set CATIA = GetObject(, "CATIA.Application")
'run the script in catia
On Error Resume Next
CATIA.SystemService.ExecuteScript sPath, 1, sName & ".CATScript", "CATMain", aParams
If Err.Number <> 0 Then MsgBox Err.Description, vbCritical, "QC2 toolset"
On Error GoTo 0
End Sub
我尝试过 Javascript,具有非常相似的功能。获取 Catia 对象的代码是var CATIA = new ActiveXObject("CATIA.Application");
提前致谢!