У меня есть документ Word 2007, в который я хочу вставить существующий документ Word - с сохранением верхнего / нижнего колонтитула, графики, границ и т. Д. Обоих документов.
Я делаю это с помощью Word API в C #.
Звучит довольно просто, я имею в виду, конечно, вы просто используете метод "InsertFile" ...
за исключением того, что в Word 2007 функциональность «вставить файл» теперь фактически представляет собой «вставить текст из файла», и он делает это просто - исключая границу страницы, графику и нижний колонтитул и т. д.
Хорошо, тогда я буду использовать вместо этого копирование и вставку, вот так ...
_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);
, который делает то, что вы ожидаете, берет исходный документ, выбирает все, копирует и затем вставляет его в целевой документ. Поскольку перед вставкой я добавил разрыв раздела, он также сохраняет границы, верхний / нижний колонтитулы обоих документов.
Однако - Теперь у меня проблема. Вставка только включает границы, заголовок и т. Д., Если я вставлю в end цели документ. Если я вставлю его посередине - несмотря на предшествующий разрыв раздела, то будет вставлен только текст, а заголовок, границы и т. Д. Будут потеряны.