Programmatisch legen Sie ein Word-Dokument in ein bestehendes Dokument (Word 2007)
Ich habe ein Word 2007-Dokument, das ich einfügen möchten einen bestehenden Word-Dokument in die - unter Beibehaltung der Kopf - /Fußzeile, Grafiken, Rahmen usw. der beiden Dokumente.
Mache ich das mit der Word-API in C#.
Es klingt ziemlich einfach, ich meine, sicher haben Sie einfach nur die "InsertFile-Methode"...
außer, dass in Word 2007 die "Datei einfügen" - Funktion ist jetzt eigentlich "einfügen von text aus Datei" und genau das tut es - ohne Seitenrand -, Grafik-und Fußzeile usw.
OK, dann werde ich mit kopieren und einfügen, anstatt, wie so...
_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);
die tut, was Sie erwarten würde, nimmt der source-Dokument, wählt alles aus, kopiert es, fügt dann in das Zieldokument. Da habe ich einen Abschnittsumbruch vor dem ausführen der einfügen-es bewahrt auch die Grenzen, Kopf - /Fußzeile der beiden Dokumente.
Jedoch - das ist jetzt, wo ich das problem haben. Die paste nur schließt die Grenzen, header usw, wenn ich die paste am Ende des Zieldokuments. Wenn ich es einfügen in der Mitte - trotz einer vorangegangenen Abschnitt Pause, dann wird nur der text wird eingefügt und die header und Grenzen etc sind verloren.
- Wenn Sie die OpenXML-route ist das überhaupt eine option, check out
blogs.msdn.com/brian_jones/archive/2010/02/26/... und die Zusammenführen Mehrerer Word-Dokumente Bereich msdn.microsoft.com/en-us/library/dd469465.aspx
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würden die Lesezeichen-Funktionalität arbeiten. Die InsertFile Parameter enthält, um von diesem die bekommen kann um das problem. Sie können betrachtet haben diese zwar bereits
http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.bookmark.insertfile.aspx
Dieser Art für mich gearbeitet. Noch auf der Suche nach einer besseren Lösung. Werden Sie sicher, dass Sie den Verweis zu Interop.Wort. Ich weiß, dies ist ein Alter thread und ich bin mit Word 2016, aber ich suchte für eine lange Zeit und hatte, um Stück die Lösung zusammen.
Bin ich tatsächlich arbeiten auf etwas ähnliches im moment seltsam genug und fand ein powershell-cmdlet-Bibliothek in C# geschrieben, die Sie vielleicht nützlich finden:
Powertools for Open XML
Es ist noch ein wenig buggy mit geerbt, Kopf-und Fußzeilen sowie mit Bild-Referenzen nicht korrekt kopiert, wenn das gleiche Bild in mehreren teilen des Dokuments, aber viel von der Struktur ist im Platz.
EINFÜGEN EINES WORD-DOKUMENTS IN EIN ANDERES WORD 2007-DOKUMENT
Der einzige Weg, fand ich erfolgreichen für WORD 2007...
öffnen Sie das Dokument, das Sie möchten, fügen Sie die Seiten an, dann gehe zu "Einfügen" Registerkarte auf der Multifunktionsleiste, schauen Sie auf die "text" - Abschnitt (an gleicher Stelle wie Textfeld, WordArt, etc) und wählen Sie "Objekt", ein drop-down-Menü erscheint, dann wählen Sie "Text aus Datei". Von hier aus wählen Sie einfach das gewünschte Dokument eingefügt und fertig ist, müssen Sie möglicherweise einige leichte Anpassung, aber es ist alles da richtig formatiert, platzieren Sie Ihren cursor an die Stelle, die Sie wollen die neuen Sachen eingefügt. Hoffe, das hilft