2009-11-09 6 views

Répondre

5

Vous ne pouvez pas le faire depuis un navigateur. Le navigateur n'autorise pas l'accès javascript à l'ordinateur client. Ce serait un trou de sécurité béant.

Microsoft contourne ce problème en utilisant Active X. Il existe d'autres plugins de bureau à navigateur qui pourraient accomplir la même chose.

Javascript, cependant, est un no-go.

+0

merci Gabriel Hhurley –

+0

N'oubliez pas que javascript s'exécute à partir de la ligne de commande en utilisant WScript ou cscript.exe. Il est possible de faire à partir d'un hôte de script non-navigateur. – Cheeso

2

Vous pouvez essayer de faire cela avec ActiveX. Quelque chose comme:

var word = new ActiveXObject("Word.Application"); 

et de vérifier le résultat de l'opération.

0

Généralement, cela n'est pas possible.
Toutefois, si le client utilise Internet Explorer et que InfoPath est installé (qui fait partie d'Office), vous pouvez vérifier le user agent pour InfoPath.2. Une autre option consiste à vérifier MS-RTC LM s'ils ont installé Office Live Meeting.
Ceci est très limitatif, mais pourrait fonctionner sur un intranet local.

0

Je l'ai fait en utilisant le script suivant:

try{ 
var oApplication=new ActiveXObject("Word.Application"); 
if(oApplication){ 
document.write(oApplication.Version); 

if(oApplication.Version == "12.0") 
{ 
document.write("office07 installed"); 
} 

} 
} 
catch(ex) 
{ 
document.write(" not installed: "); 
document.write(ex.message); 
} 
+0

Notez que vous devez appeler 'Application.Quit()' après avoir vérifié la version dans la solution de Jazzy. Si vous ne le faites pas, vous aurez une instance WinWord.exe fantôme fonctionnant en arrière-plan, sans aucun moyen de la tuer plus tard, sauf pour le gestionnaire de tâches. – JoerT

Questions connexes