Comment utiliser les composant Office sans installer Microsoft Office
nicokain
Messages postés12Date d'inscriptionsamedi 19 avril 2003StatutMembreDernière intervention15 janvier 2009
-
14 janv. 2009 à 14:58
esus1985
Messages postés76Date d'inscriptionmercredi 1 juin 2005StatutMembreDernière intervention26 février 2009
-
26 févr. 2009 à 12:04
Bonjour,
Le titre n'est peut être pas très parlant... mais voici en détails ma question.
Je développe une application en C# qui va convetir des fichier Doc en HTML via les outils Office. Pour ce faire, j'ai Office 2003 d'installer sur ma station et j'ai référencé dans mon code les objet Office (Microsoft Word 11.0).
Quand je l'exécute sur ma station tout va bien mais comme je m'y attendais, sur d'autre station ça ne marche pas du fait que Word 2003 n'est pas installé ou alors c'est une version différente.
1. Est-il possible de créer une application s'appuyant sur les objets COM Office 2003 et de l'exécuter sur n'importe qu'elle station (même si Office 2003 n'est pas installé)? Si oui, comment doit-on procéder?
2. Est-il possible dans une application d'appeler plusieurs versions d'office. Je voudrais être capable lors de l'exécution de détecter la version d'office installée sur la station et d'utiliser le COM correspondant.
Je ne sais pas si je suis assez clair dans mes questions... n'hésitez pas et merci d'avance.
Nicolas
A voir également:
Comment utiliser les composant Office sans installer Microsoft Office
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 14 janv. 2009 à 20:34
1. Attention aux licences et droits d'utilisation. Sauf cas particulier, normalement, il n'est pas possible d'utiliser des composants de la suite Office si ceux-ci ne sont pas installés.
En gros, tu peux très bien utiliser (sous certaines conditions) des composants de Word (ou Excel ou autre) mais tu ne dois pas les intégrer à ton pack d'installation, ni les installer avec ton application. Ils doivent être installés par la suite Office. Donc sur un machine ou Office n'est pas installé c'est mort.
Cela n'est évidement pas le cas des divers packs redistribuables.
2. Cela doit être possible (par Reflexion, je crois) en chargeant dynamiquement les assembly, plutot que de les rajouter en référence dans le projet, mais ça, je ne sais pas faire.
Et ça me serait bien utile dans certains cas.
nicokain
Messages postés12Date d'inscriptionsamedi 19 avril 2003StatutMembreDernière intervention15 janvier 2009 15 janv. 2009 à 08:48
Bonjour Casy,
merci pour ta réponse, cconcernant les droits c'est vrai que je n'y avait pas trop réfléchi . Cependant, mon client (gouvernement) a ce qu'il faut en licence Office mais je cherchais une solution pour un déploiement simple. je vais regarder ce que je trouve concernant Reflexion et j'y j'ai quelque chose de concrèt j'en ferais part.
Par contre, peut être pourras tu me répondre à ma seconde question qui est d'intégrer dans mon développement X versions d'office afin que les utilisateurs puissent lancer l'API quelque soit la version d'office installé sur leur poste (Je vais me limiter aux version 2003 et 2007). Si quelqu'un a déjà mis enplace ce système un petit bout de code serait le bienvenu .
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 15 janv. 2009 à 09:12
Le problème d'intégrer les références des 2 versions est que même si finalement tu n'en utilise qu'une, les dll des 2 versions devront être installées (ou alors je me suis mal démerder quand j'ai fait l'essai, ce qui est tout à fait possible).
D'ou l'idée de les charger dynamiquement à l'utilisation. Il me semble que c'est possible, mais je n'en suis pas sûr, j'ai jamais essayer.