VSTO: вставка нескольких разделов в документ Word приводит к созданию фантомных макросов - PullRequest
0 голосов
/ 13 мая 2009

У меня есть некоторый код 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 для документа с указанным глаголом «Печать», что является предпочтительным механизм печати, как он работает для многих типов документов).

Странная вещь в том, что проблема возникает, только если в целевой документ вставлено более одного раздела.

У кого-нибудь есть идеи? Благодаря.

1 Ответ

0 голосов
/ 13 мая 2009

Два часа, и никто не сделал мою работу за меня; -)

На всякий случай, если у кого-то еще есть эта проблема, я в конце концов обошел ее, сохранив документ в формате RTF, чтобы не было макросов и печать оболочки работала без проблем.

Теперь я жду, затаив дыхание, чтобы кто-то сообщил об ограничениях в выводе Word RTF.

...