Comment utiliser les composant Office sans installer Microsoft Office

Signaler
Messages postés
12
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
15 janvier 2009
-
Messages postés
76
Date d'inscription
mercredi 1 juin 2005
Statut
Membre
Dernière intervention
26 février 2009
-
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

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
12
Date d'inscription
samedi 19 avril 2003
Statut
Membre
Dernière intervention
15 janvier 2009

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 .

Merci encore et bonne journée.

Nicolas
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
76
Date d'inscription
mercredi 1 juin 2005
Statut
Membre
Dernière intervention
26 février 2009

bonjour

as tu résolu ton problème ?

le sujet m'interesse beaucoup

merci d'avance

Esus