У меня есть некоторый код VSTO, который генерирует документ Word 2003 путем копирования и вставки выбранных разделов из исходного документа:
Dim doc = Globals.ThisDocument.Application.Documents.Add(DocumentType:=Word.WdNewDocumentType.wdNewBlankDocument, Visible:=False)
For Each sectionNumber As Integer In requiredSections
sourceDoc.Sections(sectionNumber).Range.Copy()
doc.Bookmarks("\endofdoc").Range.Paste()
Next
doc.SaveAs(FileName:=(fileName), FileFormat:=(format), LockComments:=False, Password:="", AddToRecentFiles:=False)
doc.Close(SaveChanges:=False)
Это работает нормально, но когда я открываю полученный документ, я получаю диалоговое окно с предупреждением о безопасности макроса (или документ открывается в режиме разработки, в зависимости от настроек). Я не вижу никаких макросов в документе, например, с макроорганизацией в Word.
Реальная проблема, которую это вызывает, заключается в том, что она препятствует работе печати из оболочки, если для защиты макросов установлено значение «Высокий» (код вызывает Process.Start для документа с указанным глаголом «Печать», что является предпочтительным механизм печати, как он работает для многих типов документов).
Странная вещь в том, что проблема возникает, только если в целевой документ вставлено более одного раздела.
У кого-нибудь есть идеи? Благодаря.