Tout JavaScript.com - Scripts, Tutoriaux, Forums pour webmasters et développeurs
Retour à l'accueil
Rechercher :    

Les indispensables
Magic Menu
Les meilleurs scripts
Les forums
Les tutoriaux
La référence JavaScript
Les actus du net
Les petites annonces

Shopping
Le guide complet
Hébergement web

Les javascripts
Les plus vus
Les mieux notés
La boutique

Les tutoriaux
Introduction javascript
Les formulaires
AJAX / XMLHTTPRequest
Le DHTML
Les expressions régulières
Introduction au PHP
Tous les tutoriaux

Les services
Les questions fréquentes
Les forums | Le chat
L'annuaire de sites
Le livre d'or
Contacts
A propos du site
La newsletter
 Inscription à la newsletter
HTML - Texte

Les partenaires
Beauté-test
Mémoclic
Glandouille.com
Révélateur.com
Foorby, favoris en ligne
Config Mac
jquery
Hébergement gratuit
Conseils pour les paris en ligne
Acheter un Nom de Domaine



Codes promotions, réductions et bons plans pour vos achats en ligne











Connexion :
Login :
Password :
Se souvenir de moi
 S'enregistrer
Menu Forums
Rechercher
Questions Fréquentes
Liste des avatars
Liste des connectés
 
Tous les forums > JavaScript > Lanceurs pour exécutables sur PC
7 réponses - Page : 1
Lanceurs pour exécutables sur PC
francoisch - 31/01/10 11:03 Profil  
Bonjour

Je lance depuis une page Web, avec un ActiveX, des exécutables installés sur le PC de l’utilisateur.

J’utilise deux types de lanceurs Javascript, l’un spécialisé pour les composants d’Office, l’autre général, que j’avais trouvé sur des sites.

Pour lancer Word (Excel, PPT), j’utilise cette fonction :
[code]
function lancerword(doc) //~~ Lancer une application ~~
{
var app_word = new ActiveXObject("Word.Application");
app_word.Application.Visible = true;
try { app_word.documents.open(doc); }
catch(erreur) { }
}
[/code]

Pour lancer un autre exécutable (Picasa par exemple), j’utilise cette fonction :
[code]
function lancerstart(exe) //~~ Run ~~
{ var w = new ActiveXObject("WScript.Shell");
//w.run ('start "'+exe+'"'); // windows 98
w.run ('cmd /c "'+exe+'"'); // windows XP
// w.run ('cmd /k "'+exe+'"'); // debugging windows XP
// alert(exe);
}
[/code]

Mes maigres connaissances en JS ne me permettent pas de comprendre si le lanceur Word présente un avantage sur le lanceur général.

Ma question : quel bénéfice y aurait-il à utiliser lancerword plutôt que lancerstart pour lancer Word alors que le résultat semble être identique ?

Car, s’il n’y a pas de bénéfice, je préférerai utiliser toujours la même fonction lancerstart, pour simplifier mon code.

Par avance merci de votre aide.

Francois
typo - 31/01/10 15:21 Profil  

Bonjour francoisch,

"alors que le résultat semble être identique ?"

Non, dans votre première fonction, "lancerword()", cela ouvre un DOCUMENT
Dans votre deuxièmre fonction, "lancerstart()", cela lance une APPLICATION
Donc, déjà, c'est différent.

"Pour lancer Word (Excel, PPT), j’utilise cette fonction"
Non, pour word, OK, c'est bien "documents.open"
Pour excel, par exemple, c'est "Workbooks.open"

Enfin, pour XP Home, peut-être, mais je n'en suis pas sûr, mais pour XP Pro, ce n'est pas "run ('cmd /c "'+exe+'"')" mais plutôt "run ('cmd /c "start '+exe+'"')"

Quelques exemples pour illustrer :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="PSPad editor, www.pspad.com">
<script language="javascript">
<!--

function lancerword(doc) //~~ Lancer une application ~~ typo (NON, OUVRIR UN DOCUMENT)
{
var app_word = new ActiveXObject("Word.Application");
app_word.Application.Visible = true;
app_word.documents.open(doc);
}

function lancerexcel(doc) //~~ Lancer une application ~~ typo (NON, OUVRIR UN DOCUMENT)
{
var app_excel = new ActiveXObject("excel.Application");
app_excel.Application.Visible = true;
app_excel.Workbooks.open(doc);
}

function lancerstart(exe) //~~ Run ~~
{ var w = new ActiveXObject("WScript.Shell");
//w.run ('cmd /c "'+exe+'"'); // windows XP
w.run ('cmd /c "start '+exe+'"'); // windows XP
}

//-->
</script>
</head>
<body>
<a onclick="lancerword('http://127.0.0.1/francoisch_cacher_div/toto.doc')" href="#">lance un document word DANS WORD EN LECTURE SEULE</a><br/>
<a onclick="lancerexcel('http://127.0.0.1/francoisch_cacher_div/toto.xls')" href="#">lance un document excel DANS EXCEL EN LECTURE SEULE</a><br/>
<br/>
<a onclick="lancerstart('http://127.0.0.1/francoisch_cacher_div/toto.doc')" href="#">lance un document word DANS LE NAVIGATEUR avec demande "ouvrir" ou "enregistrer"</a><br/>
<a onclick="lancerstart('http://127.0.0.1/francoisch_cacher_div/toto.xls')" href="#">lance un document excel DANS LE NAVIGATEUR avec demande "ouvrir" ou "enregistrer"</a><br/>
<br/>
<a onclick="lancerstart('toto.xls')" href="#">NE TROUVE PAS LE FICHIER EXCEL POURTANT PLACE AU MEME NIVEAU</a><br/>
<a onclick="lancerstart('toto.doc')" href="#">NE TROUVE PAS LE FICHIER WORD POURTANT PLACE AU MEME NIVEAU</a><br/>
<br/>
<a onclick="lancerstart('excel')" href="#">lance excel SEUL</a><br/>
<a onclick="lancerstart('winword')" href="#">lance word SEUL</a><br/>
<br/>
</body>
</html>



Donc, en fait, ce n'est pas une ou deux fonctions, pour ouvrir un document, mais autant de fonctions que de type de fichier Office.

Par contre, pour ouvrir seulement l'application, "lancerstart()" passe partout.

Bonne continuation.

francoisch - 31/01/10 18:10 Profil  
bonjour et merci de ta réponse, j'en sais maintenant un peu plus.

Je vais travailler là dessus.

Francois
francoisch - 01/02/10 20:50 Profil  
bonjour

J’ai fait un test en ouvrant le même document Word installé sur mon PC (avec un ActiveX) ; voici les lignes de commande :
[code]
onclick="lancerstart('F:\\isipc\\martinot\\bureautiqueC\\Word PC Perso.doc')"
onclick='lancerword("F:\\isipc\\martinot\\bureautiqueC\\Word PC Perso.doc")'
[/code]

J’ai obtenu l’ouverture de mon document dans une fenêtre Word à chaque fois.

Par contre, si je comprend tes infos, si j’essaie d’ouvrir un document Word sur mon site Web :
• Avec lancerword, le document s’ouvre dans Word en lecture seule
• Avec lancerstart, le navigateur propose Ouvrir (dans le navigateur) ou Enregistrer

Oui, pour Excel, c’est Workbooks, pour PPT, c’est Presentations.

J’ai oublié qqechose ?

Francois
francoisch - 02/02/10 21:39 Profil  
Qqes compléments:
- dans lancerstart
"run ('cmd /c "'+exe+'"')" convient pour ouvrir un document installé sur le PC
"run ('cmd /c "start '+exe+'"')" convient pour un document installé sur le site
pourquoi?
- une autre possibilité pour ouvrir un document sur le site: window.open, pour un résultat analogue à celui de lancerstart

Francois


francoisch - 02/02/10 22:07 Profil  
Une autre question: comment lancer un document word quand c'est OO writer qui est installé plutôt que MS Office?

Avec lancerstart()?

Francois
typo - 09/02/10 14:36 Profil  

Bonjour francoisch,

Désolé, mais je ne me sers pas de OpenOffice. Donc je n'ai aucun moyen de vérifier.
Je dirai que pour lancer l'application, il ne doit pas y avoir de problème avec "lancerstart()" avec le nom de l'appli en paramètre, genre onclick="lancerstart('winword')".
Mais pour ouvrir un fichier, je ne peux pas vous le confirmer, d'autant que le ".doc" n'est pas un natif de OO.

Bonne continuation.

francoisch - 09/02/10 20:56 Profil  
Merci de ta réponse.

Oui, je vais essayer avec lancerstart().

Mais je n'aurais pas voulu passer à coté de qqechose d'existant s'il y en avait.

Francois
7 réponses - Page : 1
Tous les forums > JavaScript > Lanceurs pour exécutables sur PC



| © Tout JavaScript.com 1999-2005 | Scripts | Tutoriaux | Forums | Référence | Magic Menu V2 | Mailociraptor | Petites annonces informatiques |


Edité par DevTribu sarl  Google
Serveur dédié btssd : Page générée en 10 msec
09/09/2010 14:56:08 - OB = off