Имам документ на 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);
който прави това, което бихте очаквали, взема изходния документ, избира всичко, копира го и след това го поставя в целевия документ. Тъй като добавих прекъсване на секции, преди да направя поставянето, той също запазва границите, горния/долния колонтитул на двата документа.
Обаче - сега тук имам проблема. Поставянето само включва границите, заглавката и т.н., ако поставя в края на целта документ. Ако го поставя в средата - въпреки че има предходно прекъсване на раздела, тогава само текстът се поставя и заглавката, границите и т.н. се губят.