J'ai un document Word 2007 dans lequel je veux insérer un document Word existant - tout en préservant l'en-tête/pied de page, les graphiques, les bordures des deux documents. Je le fais en utilisant l'API Word en C#. Cela semble assez simple, je veux dire que vous utilisez la méthode "InsertFile" ... sauf que dans Word 2007, la fonctionnalité "insérer le fichier" est maintenant "insérer le texte à partir du fichier" et c'est juste que - laissant la bordure de page, graphiques et pied de page, etc.Insérer par programme un document Word dans un document existant (Word 2007)
OK, je vais copier et coller le lieu, comme si ...
_Document sourceDocument = wordApplication.Documents.Open(insert the 8 million by ref parameters Word requries)
sourceDocument.Activate(); // This is the document I am copying from
wordApplication.Selection.WholeStory();
wordApplication.Selection.Copy();
targetDocument.Activate(); // This is the document I am pasting into
wordApplication.Selection.InsertBreak(wdSectionBreakNextPage);
Selection.PasteAndFormat(wdFormatOriginalFormatting);
wordApplication.Selection.InsertBreak(wdSectionBreakNextPage);
qui fait ce que vous attendez, prend le document source , sélectionne tout, le copie puis le colle dans le document cible. Parce que j'ai ajouté un saut de section avant de faire le collage, il conserve également les bordures, en-tête/pied de page des deux documents.
Cependant - maintenant c'est où j'ai le problème. La pâte seulement inclut les bordures, l'en-tête etc si je colle au fin du document cible. Si je le colle au milieu - bien qu'il y ait un saut de section précédent, alors seulement le texte est collé et l'en-tête et les bordures etc. sont perdus.
Si vous allez la route OpenXML est du tout une option, consultez http://blogs.msdn.com/brian_jones/archive/2010/02/26/open-xml-sdk-office-services-better -together.aspx et la section ** Fusion de plusieurs documents Word ** ici http://msdn.microsoft.com/en-us/library/dd469465.aspx – R0MANARMY