使用Javascript从IE11运行CATscript

时间:2015-04-16 14:49:59

标签: javascript html vbscript catia

  • 不久:

代码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 MSDNhere 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");

提前感谢!

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案!

这不是我最喜欢的答案,但是将文件从file.html重命名为file.hta允许我的功能在我的用户工作站上再次运行,因为这些文件现在由Microsoft HTML Application主机打开。主要缺点:CSS格式不如IE,但这是专业工具的一个小问题

因此,如果有人有一个不涉及HTA文件的解决方案,那肯定会取代我的工具集上的这种解决方法,但是现在我放心了:))