Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo



Comment lire dans un fichier Word ?
auteur : Skalp
L'exemple suivant montre comment lire (par automation) le document paragraphe par paragraphe.

Inclure l'espace de nom : Microsoft.Office.Interop.Word (ou une variante. Voir : Comment piloter une application Office dans mon application .NET par automation ?)

object filePath = @"C:\Document1.doc";
object typeMissing = Type.Missing;
_Application application = new ApplicationClass();
Documents documents = application.Documents;

_Document document = documents.Open(ref filePath, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing);

foreach (Paragraph par in document.Content.Paragraphs)
{
    Console.WriteLine(par.Range.Text);
    Console.WriteLine();
}

document.Close(ref typeMissing, ref typeMissing, ref typeMissing);
application.Quit(ref typeMissing, ref typeMissing, ref typeMissing);
Remarque : pour les méthodes Open et Close, le nombre d'argument peut varier en fonction de la version de librairie utilisée.


Comment écrire dans un fichier Word ?
auteur : Skalp
L'exemple suivant montre comment ajouter (par automation) un paragraphe au document contenant le texte « Le club Developpez.com est le principal site d'entraide des informaticiens francophones. » à la fin document.

Inclure l'espace de nom : Microsoft.Office.Interop.Word (ou une variante. Voir : Comment piloter une application Office dans mon application .NET par automation ?)

object filePath = @"C:\Document1.doc";
object typeMissing = Type.Missing;
_Application application = new ApplicationClass();
Documents documents = application.Documents;

_Document document = documents.Open(ref filePath, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing);

document.Paragraphs.Last.Range.InsertParagraphAfter(); // Ajouter un nouveau paragraphe, car c'est ce dernier qui est modifié.
Paragraph paragraph = document.Paragraphs[document.Paragraphs.Count - 1];
paragraph.Range.Text = "Le club Developpez.com est le principal site d'entraide des informaticiens francophones.";

document.Save();
document.Close(ref typeMissing, ref typeMissing, ref typeMissing);
application.Quit(ref typeMissing, ref typeMissing, ref typeMissing);
Remarque : pour les méthodes Open et Close, le nombre d'argument peut varier en fonction de la version de librairie utilisée.


Comment mettre en forme un fichier Word ?
auteur : Skalp
L'exemple ci-dessous montre comment modifier (par automation) les couleurs des bordures et du fond d'un paragraphe.

Inclure l'espace de nom : Microsoft.Office.Interop.Word (ou une variante. Voir : Comment piloter une application Office dans mon application .NET par automation ?)

object filePath = @"C:\Document1.doc";
object typeMissing = Type.Missing;
_Application application = new ApplicationClass();
Documents documents = application.Documents;

_Document document = documents.Open(ref filePath, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing,
                                    ref typeMissing, ref typeMissing, ref typeMissing, ref typeMissing);

document.Paragraphs.Last.Range.InsertParagraphAfter(); // Ajouter un nouveau paragraphe, car c'est ce dernier qui est modifié.
Paragraph paragraph = document.Paragraphs[document.Paragraphs.Count - 1];
paragraph.Range.Text = "Le club Developpez.com est le principal site d'entraide des informaticiens francophones.";
paragraph.Format.Borders[WdBorderType.wdBorderLeft].Color = WdColor.wdColorRed;
paragraph.Format.Borders[WdBorderType.wdBorderLeft].LineStyle = WdLineStyle.wdLineStyleSingle;
paragraph.Format.Borders[WdBorderType.wdBorderLeft].LineWidth = WdLineWidth.wdLineWidth050pt;
paragraph.Format.Borders[WdBorderType.wdBorderRight].Color = WdColor.wdColorRed;
paragraph.Format.Borders[WdBorderType.wdBorderRight].LineStyle = WdLineStyle.wdLineStyleSingle;
paragraph.Format.Borders[WdBorderType.wdBorderRight].LineWidth = WdLineWidth.wdLineWidth050pt;
paragraph.Format.Borders[WdBorderType.wdBorderTop].Color = WdColor.wdColorRed;
paragraph.Format.Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleSingle;
paragraph.Format.Borders[WdBorderType.wdBorderTop].LineWidth = WdLineWidth.wdLineWidth050pt;
paragraph.Format.Borders[WdBorderType.wdBorderBottom].Color = WdColor.wdColorRed;
paragraph.Format.Borders[WdBorderType.wdBorderBottom].LineStyle = WdLineStyle.wdLineStyleSingle;
paragraph.Format.Borders[WdBorderType.wdBorderBottom].LineWidth = WdLineWidth.wdLineWidth050pt; // Définir la bordure à rouge (défnir le style de trait est obligatoire).
paragraph.Format.Shading.BackgroundPatternColor = WdColor.wdColorGreen; // Définir la couleur de fond à vert.

document.Save();
document.Close(ref typeMissing, ref typeMissing, ref typeMissing);
application.Quit(ref typeMissing, ref typeMissing, ref typeMissing);
Pour plus d'informations sur le modèle objet Word, consulter : Où puis-je trouver de la documentation sur l'automation Office ?

Remarque : pour les méthodes Open et Close, le nombre d'argument peut varier en fonction de la version de librairie utilisée.



Consultez les autres F.A.Q's


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2010  Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com