代码CATIA.SystemService.ExecuteScript(sPath, 0, sName + ".CATScript", "CATMain", aParams) ;抛出错误类型不匹配,而且我不理解,因为在IE11 (我知道,但我必须)调试器中,CATIA.SystemService手表为方法ExecuteScript提供了相同的参数列表,这个调用在VBscript中工作。如何获得有关参数类型的详细信息?我如何知道是哪个var导致了这个错误?我所有的变量都被声明了(使用严格的)。
我正在研究如何使用HTML接口保存大量函数来运行CATscripts (Catia宏,VBscript like),这些函数是通过VBscripts启动的,从macros的IE8到IE11 (这里没有选择)。正如讨论过的在MSDN和在这里的斯塔克溢流 (我显然已经尝试了所有的解决方案,兼容性设置是不可激活的),VBscript支持停止在IE11中
我有两种功能:一些是静态的,并存储在我们的内联网网站上。他们仍然在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");
提前谢谢!
发布于 2015-05-07 15:20:55
我终于找到解决办法了!
这不是我最喜欢的答案,但将文件从file.html重命名为file.hta允许我的函数在我的用户站点上再次工作,因为这些文件现在由主机打开。主要缺点: CSS格式不如IE好,但这在专业工具上是个小问题
因此,如果有人有一个不涉及HTA文件的解决方案,这肯定会取代我的工具集上的解决方案,但现在我松了一口气:)
https://stackoverflow.com/questions/29678356
复制相似问题