wbuser77
Messages postés4Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention18 avril 2009
-
17 avril 2009 à 10:24
wbuser77
Messages postés4Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention18 avril 2009
-
18 avril 2009 à 19:45
Bonjour,
Je suis complètement débutant dans le développement et je suis un peu perdu. Je souhaite écrire un fichier en langage Javascript, exécuté depuis un logiciel de calcul scientifique, qui pourra réaliser les actions suivantes :
- Lancer Microsoft Excel
- Ouvrir le fichier .xls spécifier dans le fichier .js
- Lire des valeurs dans des cases du tableur sus mentionné (ligne X, colonne X d'une feuille de calcul).
- Coller les valeurs dans le logiciel de calcul scientifique.
Le logiciel de calcul est prévu pour exécuter des macros en Javascript.
J'en suis au début. J'utilise un PC sous Windows2000 avec Office 2000. J'ai récupéré sur un site internet le script suivant :
function OpenExcel()
{
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = true;
ExcelApp.Workbooks.Open("D:\Bheritie\Projet\Proj_echangeur_bitubes\Proj_COMPOSANT\Mod_V04\Echangeur_bitubes_v3L.xls");
}//end OpenExcel()
En exécutant la macro Javascript depuis le logiciel de calcul, rien ne se passe.
Si la partie Javascript est encapsulée dans une page HTML, il ya du progrès mais seul EXCEL est lancé, le fichier n'est par contre pas ouvert :
<HTML>
----
,
<script language="javascript">
function OpenExcel()
{
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = true;
ExcelApp.Workbooks.Open("D:\Bheritie\A\Classeur1.xls");
}//end OpenExcel()
</script>
</HTML>
au secours! Merci pour l'aide que vous pourrez m'apporter.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 17 avril 2009 à 11:11
Bonjour,
>>- Lancer Microsoft Excel
>>- Ouvrir le fichier .xls spécifier dans le fichier .js
ça c'est fait à priori
>>- Lire des valeurs dans des cases du tableur sus mentionné (ligne X, colonne X d'une feuille de calcul).
>>- Coller les valeurs dans le logiciel de calcul scientifique.
ah ? et où cela ? rien n'est programmé pour cela ici dans ce qui est mis...
>>Le logiciel de calcul est prévu pour exécuter des macros en Javascript.
style word ou excel ou ... les produits office de windows quoi par exemple ... ?
wbuser77
Messages postés4Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention18 avril 2009 18 avril 2009 à 16:58
Bonjour,
En fait, seule la version mise dans une page HTML fonctionne (lancement d'Excel + ouverture du fichier .xls). Et encore, en mettant le fichier à la racine du D (i.e. D:/). Si le chemin est plus long, cela ne fonctionne pas. J'ai testé avec "" de Windows ou "/" des chemins internet. Il doit y avoir une erreur de syntaxe. Je suis un complet néophyte.
La version purement Javascript (fichier .js - pas de code HTML) ne fonctionne pas. Quand j'essaie d'exécuter la macro depuis le logiciel de calcul, rien ne se passe. Aucun debugger ne s'ouvre d'ailleurs. J'aimerais bien que Microsoft Script Editor (MSE.exe sous Office2000) puisse s'ouvrir pour que je sache ce qui ne va pas.
Les actions de lire les valeurs dans le fichier Excel et de les coller ensuite dans un endroit qui va bien sont des choses qui restent à découvrir...
Le logiciel de calcul qui exploite les possibilités offertes par l'écriture de macros en Javascript (et VBS) est ANSYS WORKBENCH.
wbuser77
Messages postés4Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention18 avril 2009 18 avril 2009 à 17:01
Re,
En complément, à propos de la lecture / écriture de valeurs. Il serait peut-être judicieux de créer un fichier intermédiaire les contenant, façon fichier input que WORKBENCH pourra lire ensuite.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 18 avril 2009 à 18:54
le chemin :
ExcelApp.Workbooks.Open("D:\\Bheritie\\A\\Classeur1.xls"); ou
ExcelApp.Workbooks.Open("D:/Bheritie/A/Classeur1.xls");
si on prend ce que tu nous donnes, ça doit fonctionner
>>La version purement Javascript (fichier .js - pas de code HTML) ne fonctionne pas.
pas compris....
le fait de le mettre dans un .js ? tu dois faire une erreur.
par exemple : c'est uniquement du javascript ! aucune balise
donc à la place de
<script language="javascript">
function OpenExcel()
{ var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = true;
ExcelApp.Workbooks.Open("D:\\Bheritie\\A\\Classeur1.xls");
}
</script>
an fait
<script language="javascript" src="c:\\toto.js"></script>
et dans c:\toto.js :
function OpenExcel()
{ var ExcelApp = new ActiveXObject("Excel.Application");
<script type="text/javascript">
var textRange = document.body.createTextRange();
textRange.moveToElementText(divMain);
textRange.execCommand('Copy');
var oExcel = new ActiveXObject('Excel.Application');
var oWkBooks = oExcel.Workbooks.Add;
var oExcelSheet = oWkBooks.Worksheets(1);
oExcelSheet.Application.Visible = true;
oExcelSheet.Activate();
oExcel.ActiveSheet.Range('A1').Select;
oExcel.ActiveCell.PasteSpecial(0,false,false);
oExcel.ActiveSheet.Cells.EntireColumn.AutoFit;
oExcel.ActiveSheet.Cells.EntireRow.AutoFit.AutoFit;
oExcel.ActiveSheet.Range('A1').Select;
</script>
</html>
>>Quand j'essaie d'exécuter la macro depuis le logiciel de calcul, rien ne se passe
bah, si tu dois récupérer des cellules d'excell, si on ne les copie pas
depuis le html... ou le contaire ?
ta macro devrait prendre quoi ?
>>Il serait peut-être judicieux de créer un fichier intermédiaire les contenant,
je ne vois pas trop qui fait quoi en fait !
on a 3 choses : le html+le javascript (.js ou pas, c'est pareil ), excel, ton logiciel
quelles relations entre eux ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
wbuser77
Messages postés4Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention18 avril 2009 18 avril 2009 à 19:45
Bonsoir,
Je résume. Normalement, il ne doit y avoir que 4 éléments :
- Le logiciel de calcul ANSYS WORKBENCH appelant un fichier javascript
- le fichier javascript proprement dit. Il lance Excel, ouvre un classeur Excel, lit des valeurs et les colle sans un fichier texte intermédiaire ou dans un espace prévu dans WORKBENCH (à voir).
- Excel. Pas grand chose à ajouter, on connaît plus ou moins ce tableur.
- Classeur Excel (fichier .xls) calculant des valeurs qui sont lues et récupérées via le script javascript.
Le fichier HTML est là pour faire un test et tenter de sortir du merdier (excusez moi pour cette familiarité).
En fait je veux utiliser une macro exclusivement en javascript (fichier .js). C'est le premier script script que j'ai écrit :
function OpenExcel()
{
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = true;
ExcelApp.Workbooks.Open("D:\Bheritie\Projet\Proj_echangeur_bitubes\Proj_COMPOSANT\Mod_V04\Echangeur_bitubes_v3L.xls");
}//end OpenExcel()
C'est tout ce qui est écrit dedans jusqu'à présent, pas de balises. Rien ne se passe à l'exécution du fichier .js. Il commence par function et se termine par une accolade + commentaire. Bon, il doit y avoir un pb de chemin pour ouvrir le fichier .xls mais de toute façon même Excel ne se lance pas.
Pour essayer d'en savoir plus, le script javascript a été mis dans une page HTML (d'où la présence de balises + quelques lignes de codes supplémentaire pour avoir un bouton "run"). Là, Excel se lance et le fichier .xls s'ouvre si je mets ce dernier dans "D:/".
Comme je ne suis pas à mon bureau ce week-end, j'espère tester les modifications suggérées la semaine qui vient.
Je vais étudier le script de lecture / écriture.