begin process at 2012 05 29 09:23:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Classes

 > 

Macro en Javascript


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Macro en Javascript

vendredi 17 avril 2009 à 10:24:03 | Macro en Javascript

wbuser77

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>
<table align=left cellspacing="10">
   <tr>
   <td align=center><input type=button value="Run " onclick=javascript:OpenExcel()></td>
   </tr>
  </table>
<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.

wbuser77
vendredi 17 avril 2009 à 11:11:35 | Re : Macro en Javascript

Bul3

Membre Club


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 ... ?

Cordialement [mon Site] [M'écrire] Bul

samedi 18 avril 2009 à 16:58:41 | Re : Macro en Javascript

wbuser77

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
samedi 18 avril 2009 à 17:01:09 | Re : Macro en Javascript

wbuser77

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.

wbusr77
samedi 18 avril 2009 à 18:54:54 | Re : Macro en Javascript

Bul3

Membre Club

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");
     ExcelApp.Application.Visible = true;
     ExcelApp.Workbooks.Open("D:\\Bheritie\\A\\Classeur1.xls");
 }


>>Les actions de lire/écrire les valeurs dans le fichier Excel

var num=ExcelApp.ActiveSheet.cells.item(1,1); par exemple lit ligne 1, colonne 1
( on peut faire autrement )

exemple de copie de toute la page html ==> excel :
    <body>
        <div id="divMain">
        <table border="1" width="293">
            <tr><td width="90">Val1</td>
                <td width="70">123456</td>
                <td width="50">------</td>
                <td width="30">--------</td></tr>
            <tr><td>Val2</td>
                <td>123456</td>
                <td>------</td>
                <td>--------</td></tr>
            <tr><td>Val3</td>
                <td>123456</td>
                <td>------</td>
                <td>--------</td>
            </tr>
        </table>
    <p>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</p>
    <p>BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB<br><br>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC</p>
    </div>
            <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>
    </body>
</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 ?
 
samedi 18 avril 2009 à 18:57:01 | Re : Macro en Javascript

Bul3

Membre Club
maintenant créer un fichier, c'est là aussi possible.

samedi 18 avril 2009 à 19:45:06 | Re : Macro en Javascript

wbuser77

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.

En tout cas, merci pour les infos .

wbuser77


Cette discussion est classée dans : fichier, javascript, logiciel, calcul, excelapp


Répondre à ce message

Sujets en rapport avec ce message

Executer une fonction javascript [ par tdikarimgrps ] Bonjour à tous,Voilà je souhaiterais savoir comment exécuter une fonction javascript lorsque je clique sur un lien ?De plus cette fonction devra downl Lire et écrire un fichier TXT en JAVASCRIPT [ par luluscript ] Bonjour, Je commence pas à pas la programmation en Javascript selon mes besoins, et je n'arrive pas à trouver les fonctions qui me permettrons de lire un javascript qui calcul le nombre de jour entre 2 date? [ par jetlee79 ] Bonjour,Je recherche désespérèment un javascript qui me dise le nombre de jours qu'il y a entre 2 date.Car j'ai une page html ou je saisie dans TXtDat JavaScript: appel du fichier externet (.js) - Help!! [ par Henri9009 ] Bonjour à tous. Je ne comprends pas comment je peux avoir un problème avec une manipulation si simple. Je vais devenir fou!!! Ça fait un Lire dans un fichier xls ou csv avec javascript [ par smarechal ] Bonjour,je voulais savoir si il est possible de lire dans un fichier xls ou csv avec une fonction javascript (pas en php car je suis hebergé chez wana ouverture de fichier excel en javascript [ par joan ] Bonjour,Je développe actuellement une application en ASP dans laquelle je dois ouvrir un fichier excel que je pourrais modifier et enregistrer sur le lire un fichier ini avec Javascript sur poste client [ par simsas ] Bonjour,Est ce que quelqu'un peut me dire s'il est possiblede lire un fichier ini avec Javascript sur un pose client.Ceci afin de récupérer des donnée fichier pdf et javascript [ par yoyosoleil ] salut,j'utilise des formulaires pdf et j'ai quelques soucis avec ces derniers.des fonctions javascript sont dispo pour creer des scripts mais elles so ASX et JavaScript [ par neckaros ] Voila j'essaye de creer une sorte de MediaPlayer pour mon site et j'ai deja réussi a créer des playlist dynamiques grace a un fichier ASX et PHPMais v javascript sur fichier séparé : problème de choix de la frame [ par bertrouf ] Bonjour,J'ai une fonction sur un fichier.js, Quand je clique sur le bouton sur la page "main", j'appelle la fonction script() qui m'affiche le contenu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales