Focus sur une applic ?!

cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015 - 4 avril 2006 à 13:17
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 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>


Merci d'avance ;)

3 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 avril 2006 à 13:33
salut revolt,

pas trop compris ce que tu fais...
les alt+tab ne doivent être fait que lorsque
l'application est déjà lancée ?
( c'est ce qui est ici )

Cordialement. Bul. ~
Mon Site qu'il est à Moi ~

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>
0
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 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

en tout cas merci bul ;)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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>
0
Rejoignez-nous