- まもなく:
コードCATIA.SystemService.ExecuteScript(sPath, 0, sName + ".CATScript", "CATMain", aParams) ;
はエラー タイプの不一致をスローします。IE11 (わかっていますが、そうしなければなりません) デバッガーでは、CATIA.SystemService の監視によりメソッド ExecuteScript の同じ引数のリストが表示され、この呼び出しはVB スクリプト。引数の型の詳細を取得するにはどうすればよいですか? どの変数がこのエラーを引き起こしているかを知るにはどうすればよいですか? すべての変数が宣言されています (strict を使用)。
- 詳細に:
会社が IE8 から IE11 に移行してから、HTML インターフェースを使用して CATscript (Catia マクロ、VBscript のようなもの) を実行し、VBscript を介して起動される多数の関数を保存する方法を見つけようとしています (ここでは選択肢はありません)。 . MSDNで説明されているように、ここでは Stackoverflowで説明されているように(明らかにすべてのソリューションを試しましたが、互換性設定を有効にすることはできません)、VBscript のサポートは IE11 で停止します。
2 種類の機能があります。一部は静的で、イントラネット Web サイトに保存されています。それらはまだIE11で動作します(意味が正確にはわかりませんでしたが、理解できればEdgeモード)
しかし、その他のいくつかは、ユーザーのコンピューター上でオンザフライで作成され、現在 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");
前もって感謝します!