- bientôt:
le code CATIA.SystemService.ExecuteScript(sPath, 0, sName + ".CATScript", "CATMain", aParams) ;
erreur jet Incompatibilité de type, et je ne comprends pas puisque dans IE11 (je sais, mais je dois) débogueur, le watch of CATIA.SystemService donne moi la même liste d'arguments pour la méthode ExecuteScript, et cet appel fonctionne en VBScript. Comment puis-je obtenir des détails sur les types d'arguments? comment puis-je savoir quelle variable provoque cette erreur? Toutes mes variables sont déclarées (utiliser strict).Run CATScript de IE11 avec Javascript
- dans les détails:
J'essaie de comprendre comment sauver un grand nombre de fonctions à l'aide des interfaces HTML pour exécuter CATscripts (macros Catia, VBscript comme), qui sont lancés par VBscripts, de la transition de ma société de IE8 à IE11 (pas de choix ici). Comme nous l'avons there in MSDN et here in Stackoverflow (je l'ai essayé toutes les solutions évidemment, et le réglage de la compatibilité n'est pas activable), le soutien VBscript arrête dans IE11
J'ai 2 sorte de fonctions: certains sont statiques et stockées sur notre site intranet . Ils fonctionnent encore sur IE11 (mode Edge si je comprends, bien que je ne puisse pas trouver exactement ce que cela signifie)
Mais d'autres sont écrits à la volée, sur l'ordinateur des utilisateurs, pour générer une interface reflétant ce qui est actuellement dans Catia. Ceux-ci ne fonctionnent plus sur IE11, et sont les plus importants. Il semble qu'ils soient considérés comme "zone internet", ce que je ne comprends pas puisqu'ils sont écrits localement. est-ce pour prévenir les logiciels malveillants?
voici comment j'appelle la fonction du HTML:
<input type='button' value='00-10' onclick='StartScript(me)' id='import-zip-from-DB'/>
et est ici le VBscript (simplifié mais fonctionnel):
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
J'ai essayé Javascript, avec une fonction vraiment similaire . le code pour obtenir Catia Object est var CATIA = new ActiveXObject("CATIA.Application");
merci d'avance!