Tutoriel de : Benjamin Naxos
Sources : Livre ".net" par Dick Lantim
L'automation Word consiste à utiliser les services du logiciel Word dans une application.
Ce petit tutoriel explique les étapes à franchir pour pouvoir ouvrir Word, créer une nouvelle feuille et la remplir par le biais d'une application réalisée en c# avec SharpDevelop.
(A ma connaissance tout ce qui fonctionne sous SharpDevelop est à priori susceptible de fonctionner sous Visual c# .net)
La première étape consiste à générer l'assemblage Word.dll qui contiendra les classes proxy utiles au contrôle de Word par automation.
Vérifiez que vous possédez le fichier MSWORD.OLB situé dans:
C:\Program Files\Microsoft Office\Office10\
Utilisez l'outil "tlbimp.exe" fourni dans le SDK .net de la façon suivante :
(Pour taper cette commande placez vous dans le répertoire où se situe l'outil "tlbimp.exe" : C:\Program Files\Microsoft .net\SDK\v1.1\Bin\)
Le répertoire Bin doit maintenant contenir 3 fichiers .dll en plus :
Il vous suffit de copier-coller ces 3 fichiers dans le répertoire du projet que vous développez.
Pour utiliser les classes il vous faut référencer les assemblages.
Pour ouvrir Word tapez les lignes suivantes dans l'évènement click d'un bouton par exemple:
/* Lancement du processus Word grâce à l'instanciation de la classe "ApplicationClass" */ Word.ApplicationClass wa = new Word.ApplicationClass(); /* Montrer la fenêtre du processus */ wa.Visible=true;
Pour créer un nouveau document en y ajoutant du texte:
/* Création de la feuille */ Word.DocumentClass wd = new Word.DocumentClass(); /* Activation de la feuille */ wd.Activate(); /* Insertion de texte dans la feuille */ wd.Content.InsertAfter("Salut");
Toutes les fonctions de Word sont disponibles avec un peu de recherche dans les différentes classes.
Ce code a été testé avec Word XP, le SDK v1.1 et SharpDevelop RC3.