代码CATIA.SystemService.ExecuteScript(sPath, 0, sName + ".CATScript", "CATMain", aParams) ;
抛出错误类型不匹配,我不明白,因为在IE11(我知道,但我必须)调试器,watch of CATIA.SystemService给了我相同的方法参数列表ExecuteScript,此调用在VBscript中有效。我如何获得有关参数类型的详细信息?我怎么知道哪个var导致了这个错误?
我的所有变量都被声明(使用严格)。
我正在试图找出如何使用HTML接口保存大量函数来运行CATscripts(Catia宏,VBscript之类),这些是通过VBscripts启动的,从我公司从IE8过渡到IE11(否)这里的选择)。正如所讨论的there in MSDN和here in 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");
提前感谢!
答案 0 :(得分:0)
我终于找到了解决方案!
这不是我最喜欢的答案,但是将文件从file.html重命名为file.hta允许我的功能在我的用户工作站上再次运行,因为这些文件现在由Microsoft HTML Application主机打开。主要缺点:CSS格式不如IE,但这是专业工具的一个小问题
因此,如果有人有一个不涉及HTA文件的解决方案,那肯定会取代我的工具集上的这种解决方法,但是现在我放心了:))