簡體   English   中英

使用Javascript從IE11運行CATscript

[英]Run CATscript from IE11 with Javascript

  • 不久:

代碼CATIA.SystemService.ExecuteScript(sPath, 0, sName + ".CATScript", "CATMain", aParams) ; 拋出錯誤類型不匹配,而且我不了解,因為在IE11(我知道,但我必須)調試器中, CATIA.SystemService監視為我提供了方法ExecuteScript的相同參數列表,並且此調用在VBscript中有效。 如何獲取有關參數類型的詳細信息? 我怎么知道哪個var導致此錯誤? 我所有的變量都被聲明(使用嚴格)。

  • 詳細信息:

我試圖弄清楚如何使用HTML接口保存大量函數來運行CATscript(Catia宏,類似於VBscript),這些是通過VBscripts啟動的,從我公司從IE8過渡到IE11(此處沒有選擇) 。 正如在MSDN中和此處在Stackoverflow中所討論的(顯然,我已經嘗試了所有解決方案,並且兼容性設置不可激活),IE11中停止了對VBscript的支持。

我有2種功能:有些是靜態的,並存儲在我們的Intranet網站上。 他們仍然可以在IE11上運行(如果我了解的話,可以使用Edge模式,盡管我找不到確切的含義)

但是其他一些則是在用戶計算機上即時編寫的,以生成反映Catia當前內容的界面。 那些在IE11上不再可用,並且是最重要的。 看來它們被視為“ Internet區域”,由於它們是本地編寫的,所以我不明白。 是為了防止惡意軟件?

這是我從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");

提前致謝!

我終於找到了解決方案!

這不是我最喜歡的答案,但是將文件從file.html重命名為file.hta允許我的功能在用戶工作站上再次運行,因為這些文件現在已由Microsoft HTML Application主機打開。 主要缺點:CSS格式不如IE優秀,但這是專業工具上的一個小問題

因此,如果任何人都有不涉及HTA文件的解決方案,那肯定會替代我的工具集上的此變通辦法,但現在我很放心:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM