cs_revolt
Messages postés68Date d'inscriptionsamedi 5 mai 2001StatutMembreDernière intervention15 mars 2015
-
4 avril 2006 à 13:17
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
4 avril 2006 à 15:43
Bonjour,
J'ai actuellement une fonction qui lance une macro dans un fichier excel à partir de mon site web.
Je voudrais maintenant, lorsque l'alerte d'application déjà lancée s'execute, que le focus revienne sur ma fenetre de macro.
Y a til une fonction spécifique en javascript pour rendre le focus à une appli ?
actuellement je fais 2 alt+tab avec un sendkeys, mais si le mec va sur un autre page entre temps, ça marche pas trop...
voici mon code actuel :
<SUP>Function outusine()
{
try
{
var fso=new ActiveXObject("Scripting.FileSystemObject");
fichier = fso.OpenTextFile("c:\\dej.dat", 1);
var deja = fichier.ReadLine();
fichier.Close();
}</SUP>
<SUP>catch(err)
{
deja="False";
}
if (deja=="False")
{
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = false;
ExcelApp.Workbooks.Open("/site/rubriques/period/outperiod.xls");
ExcelApp.run("lancoutusine");
location.href='page1.html';
}
else
{
alert("Application déjà lancée!!");</SUP>
<SUP>w = new ActiveXObject("WScript.Shell");
//w.visible=false;
w.Sendkeys ("%{TAB}%{TAB}%{TAB}",1);
}
}</SUP>
2 remarques :
<SUP>° fichier = fso.... c'est une variable globale qui, à priori,
serait mieux "en local" : var fichier=fso....
</SUP>° mettre un fichier sous la racine, "c'est pas beau"
<SUP>...OpenTextFile("c:\\dej.dat", 1);
à mettre dans "temporaires ?"
...OpenTextFile("%temp%/dej.dat", 1); ou pas loin !
</SUP><FO></S< body>
cs_revolt
Messages postés68Date d'inscriptionsamedi 5 mai 2001StatutMembreDernière intervention15 mars 2015 4 avril 2006 à 13:46
ah oué carrément.....
merci pr tes remarques ;)
Oui en fait je t'explique..... je suis sur mon site, je navigue, et j'ai des liens qui me lancent des fenetres VB (donc des macros).
Lorsqu'une personne clique sur un lien qu'il a déjà lancé, ça lui fait une erreur lui disant de d'abord fermer l'autre fenetre...
Alors là je veux que le focus se mette sur cette fenetre....
Pour ça, j'ai fait un sendkey, qui marche, mais si tu veux vu que ça envoie deux fois alt tab, c pas terrible, car il suffit qu'il ait activé une autre fenetre entre temps, pour que ça active une fenetre qui n'a rien a voir avec mon appli.....
Ce que j'ai oublié de te dire, c que mon applic est invisible dans la barre des taches, à cause de la propriété : <SUP>ExcelApp.Application.Visible = false;
</SUP>
Voilà....jspr que j'suis + clair
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 4 avril 2006 à 15:43
je ne sais pas si je vais répondre, car toujours pas
très clair pour moi ( oui, je suis un peu beubeu )
si c'est une application qui pilote Excell, c'est sûrement un .HTA
( sinon, il vaudait mieux !!! ) et dans ce cas : dans la balise
<hta:Application... on peut mettre SingleInstance="no" ou "yes"
qui veut dire que ce programme peut être lancé plusieurs fois , ou pas
ça ne convient pas à ce qu'il faut faire ? le système s'occupe de tout !
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO></S< body>