ActiveX VBA

Résolu
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015 - 29 mars 2006 à 17:09
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 31 mars 2006 à 09:46
Bonjour,

J'ai créé un prog en VBA excel, et je le lance à partir d'une page web grace à un active X....

Qqun sait comment faire pour, si le mec clique deux fois sur le lien, l'application ne se lance pas deux fois ?

Code pr lancer mon activeX (lance une macro vba) :

function outnow()
{
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = false;
ExcelApp.Workbooks.Open("http://site/rubriques/today/outagetoday.xls");
ExcelApp.run("lancoutnow");
location.href='admin.html';
}

Merci d'avance

4 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
29 mars 2006 à 17:30
Salut,

Juste une idée au passage.

Tu peux peu être passer par un boolean Static du style

(Pas tester)

function outnow()
{
Static Flag as Boolean 'OU equivalent
If Not Flag THEN 'OU equivalent
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = false;
ExcelApp.Workbooks.Open("http://site/rubriques/today/outagetoday.xls");
ExcelApp.run("lancoutnow");
location.href='admin.html';
Flag = True
END IF 'OU equivalent
}

Le seul Hic c est quand remettre le Flag a false....
@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
3
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
30 mars 2006 à 10:21
C'est une bonne idée, je vais essayer de l'exploiter, merci !!
Je te tiendrai au courant ;)
0
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
31 mars 2006 à 09:43
Voilà, c'était du javascript, donc j'ai tappé le code suivant (merci bul) :

var deja=false;


function outperiod()
{
if (!deja)
{
deja=true;
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Application.Visible = false;
ExcelApp.Workbooks.Open("http://dsi.nestle.fr/GlobeDoc/GESTION%20PROJET/Integration%20Mngt/Outage%20Management/WeeklyPlannedOutages/Tools/site/rubriques/period/outperiod.xls");
ExcelApp.run("lancperiod");
}
else
{
alert("Application déjà lancée!!");
}
}

Merci beaucoup pour ton idée jrivet !! :)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
31 mars 2006 à 09:46
Salut,

Content d'avoir pu t'aider

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
Rejoignez-nous