IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Lancer plusieurs macro *mcr en JavaScript


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut Lancer plusieurs macro *mcr en JavaScript
    Salut,

    Désolé de venir comme çà sans présentation, mais je suis à la bourre....

    Depuis 15 jours, étant débutant, cherchant à lancer des macros *mcr via simplement un lien sur une page web, çà marche mais le problème est qu'a chaque fois les navigateurs te demande d'ouvrir ou d’enregistrer, impossible de le faire automatiquement, même après plusieurs posts sur les forums officiels pas eu de réponses réglant le problème !


    Pour le coté graphique j'avais un peu peur mais en travaillant en html puis en sauvegardant avec dreamweaver en .hta çà passe nikel,

    il ne reste plus qu'a pouvoir rajouter les 199 autres macros...


    Voici le code actuel :


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <html>
    <head>
    <script language="javascript">
    <!--
      function lance() {
           var wScript = new ActiveXObject("Wscript.Shell");
           wScript.run("testmacro.mcr");
           return false;
      }
     
    //-->
    </script>
    </head>
    <body>
    <hta:application border="yes" singleinstance="yes" windowstate="maximize" scroll="no" caption="no" innerborder="no"></hta:application>
    <a href="" onClick="return lance();"><img src="240_F_41730951_EyMKKNC8LF8U0SlmiiJnxU9HCnraMXDR.jpg" width="63" height="64"></a>
    </body>
    </html>
    Ensuite une personne très sympa ma proposé un autre code, mais je dois buter sur quelque chose car normalement juste en renommant le nom de mes macros par les siennes pour test çà devrait fonctionner mais mais ce n'est pas le cas !

    Qu'en pensez-vous svp ?

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <!DOCTYPE html>
    <html>
    <head>
    <title>Lancement des macros</title>
    <script type="text/JavaScript">
    var myArray = ['appli_001.mcr', 'appli_002.mcr',
                    ..... 
                   'appli_199.mcr', 'appli_200.mcr'];
    function lance(Numero_Macro) {
     var wScript = new ActiveXObject("Wscript.Shell");
     var myMacro = myArray(Numero_Macro);
     wScript.run(myMacro);
     return false;
    }
    </script>
    </head>
    <body>
    .....
    <a href="" onClick="return lance(1);"><img src="image_001.jpg"></a>
    <a href="" onClick="return lance(2);"><img src="image_002.jpg"></a>
    .....
    <a href="" onClick="return lance(199);"><img src="image_199.jpg"></a>
    <a href="" onClick="return lance(200);"><img src="image_200.jpg"></a>
    .....
    </body>
    </html>

    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    Bonjour,
    Attention :
    on n'écrit pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myMacro = myArray(Numero_Macro);  // avec des parenthéses
    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myMacro = myArray[Numero_Macro];  // avec des crochets
    pour cibler un élément d'un Array.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Oui une autre personne a vu, mais j'ai toujours le même soucis

    et j'ai le message suivant en *hta :
    http://www.hostingpics.net/viewer.ph...437error01.jpg

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Quelqu'un pourrait me communiquer l'adresse d'un pro ?

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    L'erreur paraît pourtant claire, Le fichier spécifié est introuvable. Vérifie dans ce cas les chemins d'accès à tes fichiers .mcr.

    Un autre détail qui peut avoir son importance est que les indices des Array commence à 0 et non pas à 1.
    Quand tu écris lance(1); tu demandes l’exécution du fichier macro 'appli_002.mcr' d'après ton code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var myArray = ['appli_001.mcr', 'appli_002.mcr',  'appli_003.mcr', 'appli_004.mcr'];
    console.log( myArray[0]); // >> appli_001.mcr
    console.log( myArray[1]); // >> appli_002.mcr
    Quelqu'un pourrait me communiquer l'adresse d'un pro ?
    Il existe des annuaires pour cela, mais le plus simple peut être l’apprentissage des bases

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    MErci Nosmoking, en fait oui, mais là je devrais tout apprendre, mais j'ai vraiment pas le temps pour le moment c'est tout le problème, mais avec çà je comprends déjà mieux !

    pour le chemin, je vois bien, le fichier html et la macro sont au même niveau, j'ai donc mis le nom simple et le chemin complet çà ne fonctionne pas, je vais essayer avec tes modifications !

    Ok, j'ai juste changé par 0 et çà marche merci beaucoup Nosmoking

    Par contre je dois rajouter ces lignes quand même ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    console.log( myArray[0]); // >> appli_001.mcr
    console.log( myArray[1]); // >> appli_002.mcr

    Sinon :

    Bon,

    Ce n'est vraiment pas logique ce qui ce passe,

    En l'état, si je lance la page, çà fonctionne bien pour l'appli_001, aucune raison pour que çà ne fonctionne pas cette fois si tout est correct !

    par contre i je déplace les fichiers dans un autre dossier et/ou DD, pourtant j'indique bien le chemin relatif mais le fait de changer de répertoire fait recommencer le problème, j'ai beau indiquer tous les chemins possibles rien n'y fait !



    C'est quand même compliqué ce javascript, car ce n'est pas du tout logique !

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Nosmoking, tu peux peut-être me dépatouiller à nouveau !

    Tout s'ouvre nikel si je suis à la racine d'un dd,
    mais que je met le tout dans un dossier çà ne fonctionne plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!DOCTYPE html>
    <html>
    <head>
    <title>Lancement des macros</title>
    <script type="text/JavaScript">
    var myArray = ['appli_001.mcr', 'appli_002.mcr', 'appli_199.mcr', 'appli_200.mcr'];
    function lance(Numero_Macro) {
    var wScript = new ActiveXObject("Wscript.Shell");
    var myMacro = wScript.CurrentDirectory + "\\" + myArray[Numero_Macro];
    alert(myMacro);
    wScript.run(myMacro);
    return false;
    }
    </script>
    </head>
    <body>
    <hta:application border="none" singleinstance="yes" windowstate="maximize" scroll="no" caption="no" innerborder="no"></hta:application>
    .....
    <a href="" onClick="lance(0);return false;"><img src="image_001.jpg"></a>
    <a href="" onClick="lance(1);return false;"><img src="image_002.jpg"></a>
    .....
    <a href="" onClick="lance(199);return false;"><img src="image_199.jpg"></a>
    <a href="" onClick="lance(200);return false;"><img src="image_200.jpg"></a>
    .....
     
    </body>
    </html>
    Le message alert :
    Sur le message alerte rien du tout si ce n'est la macro qui doit se lancer puis je clique ok et ensuite j'ai le message erreur de script classique : le fichier est introuvable !
    Alors que tout est au même endroit "macro +fichier html/hta" sauf qu'ils sont dans un dossier au lieu d'être à la racine du disque comme je l'ai indiqué, l'erreur vient forcément du script.
    Ligne 11 caractère 1

  8. #8
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Il s'avère que tout ce qui est dans un dossier du type

    x:\dossier test\testmacro.hta fonctionne


    Mais dés qu'il y a sous dossier, çà ne fonctionne plus, si je lance une cmd il ne trouve pas les fichiers qui sont pourtant bien là :

    x:\dossier test\Nouveau dossier\testmacro.hta

    Une petite idée, une modification à faire dans la propriété des fichiers ?

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    Une petite idée, une modification...
    il te faut bien évidement tenir compte du chemin d'accès à tes macros au lancement de celles-ci.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Je suis d'accord Nosmoking, même en mettant le chemin çà ne fonctionne pas, c'est pour çà que je post !


    Ce n'est pas trop grave je mettrais à la racine, par contre je n'arrive pas à enlever le contour bleu sur les images, même dans les propriétés de la page je désactive tout ce qui pourrait ressembler à çà ou liens mais çà ne changer, je suis sur fond noir et il y a aussi une barre de scroll verticale que je souhaiterais faire disparaitre.

    As-tu une petite idée STP ?

    MErci

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    ... même en mettant le chemin çà ne fonctionne pas, ...
    Certes mais comment récupères tu ce chemin ?
    Tu peux te servir de document.location.pathname.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var chemAppli = document.location.pathname; // récup. chemin appli
    chemAppli = chemAppli.split('\\')           // décompose le chemin
    chemAppli.pop();                            // supprime le nom du fichier en cours
    chemAppli.push('');                         // rajout élément vide pour prise en compte slash de fin
    chemAppli = chemAppli.join('\\');           // reconstruit le chemin complet avec slash de fin
    alert( chemAppli);
    et pour l'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myMacro = chemAppli + myArray[Numero_Macro];
    Pour le reste il s'agit de jouer avec le CSS de ta page
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    body {
      overflow: hidden;  /* attention à ne pas masquer des éléments nécessaires */
    }
    img {
      border: none;
    }

  12. #12
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Ah ok !!!

    Je pensais qu'il fallait juste mettre le chemin comme en html et roulez jeunesse !

    C'est pointu,

    Tu es un champion Nosmoking !


    Merci beaucoup à nouveau !

    Edit :

    Pour l'instant, comme je pensais que c'était le moins compliqué, pour cacher les bordures je l'ai mit à différent endroits il n'y a rien qui change !

    Comme je ne comprends pas le langage, je en fais que du copier coller !

    Je pensais qu'en le mettant entre les balises body déjà existantes cela marcherait, mais non !

    par exemple :

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <style type="text/css">
    body {
    	background-color: #000; overflow: hidden;
    }
    img {
      border: none;
    }
    </style>

    Oups, j'ai confondu, avec les scrollbars ! çà fait disparaitre les bandes bleues !

  13. #13
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Salut Nosmoking, désolé, mais je n'arrive pas à trouver ou placer les

    overflow-x: hidden; overflow-y: hidden; avec une "éventuellement div !

    J'ai toujours la barre verticale !

    J'ai bien tenté un truc du genre avec scrool ou scrollbar mais que nenni :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    body {
    background-color: #000; overflow: hidden;
    }
    img {
    border: none;
    }
    scrollbar {overflow-x: hidden; overflow-y: hidden;
    }
    body,td,th {
    	color: #FFF;
    }
    </style>
    </head>
    <body>

    Encore un petit coup de pouce pour la route ?



  14. #14
    Membre à l'essai
    Homme Profil pro
    Ouvrier
    Inscrit en
    Juin 2017
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2017
    Messages : 91
    Points : 17
    Points
    17
    Par défaut
    Hello Nosmoking et les autres !

    Il y a quelque chose d'étrange, la barre de scroll s'affiche mais sans la barre intérieure, et si je fais F5 tout ce qui est relatif scroll disparaît, ce que je voudrais mais bien-sûr sans faire un F5,


    Je précise que la page "*hta" se lance au démarrage du pc !

    Pour vous le problème pourrait venir d' où svp ?


    Merci

  15. #15
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 955
    Points : 44 103
    Points
    44 103
    Par défaut
    Ton problème initial est résolu, il est préférable d'ouvrir une autre discussion et passer celle ci en résolue.

Discussions similaires

  1. Besoin de lancer plusieurs fois la macro pour arriver au résultat final
    Par Jeannot40260 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/08/2016, 15h30
  2. Lancer une macro sur plusieurs tables
    Par discus23 dans le forum Macro
    Réponses: 8
    Dernier message: 30/07/2012, 14h41
  3. Lancer plusieurs fonctions JavaScript
    Par tijocanard dans le forum jQuery
    Réponses: 2
    Dernier message: 09/03/2012, 09h49
  4. lancer plusieurs macro au démarrage d'Excel
    Par antoine2933 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2011, 14h35
  5. Lancer plusieurs fonctions JavaScript sur même evenement
    Par davinout dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/07/2010, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo