Как отключить «Сохраняемый документ содержит отслеживаемые изменения» Диалог Word с использованием C # - PullRequest
4 голосов
/ 22 февраля 2011
Microsoft.Office.Interop.Word.ApplicationClass msDoc = new Microsoft.Office.Interop.Word.ApplicationClass();
msDoc.Visible = false;
msDoc.Application.Visible = false;
msDoc.Documents.Open(ref docPath, ref UNKNOWN,
                     ref READ_ONLY, ref UNKNOWN, ref UNKNOWN,
                     ref UNKNOWN, ref UNKNOWN, ref UNKNOWN,
                     ref UNKNOWN, ref UNKNOWN, ref UNKNOWN,
                     ref UNKNOWN, ref UNKNOWN, ref UNKNOWN, ref UNKNOWN, ref UNKNOWN);
msDoc.WindowState = Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMinimize;
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
msDoc.ActiveDocument.SaveAs(ref target, ref format,
                            ref UNKNOWN, ref UNKNOWN, ref UNKNOWN,
                            ref UNKNOWN, ref UNKNOWN, ref UNKNOWN,
                            ref UNKNOWN, ref UNKNOWN, ref UNKNOWN,
                            ref UNKNOWN, ref UNKNOWN, ref UNKNOWN,
                            ref UNKNOWN, ref UNKNOWN);

Проблема в том, что при выполнении SaveAs появляется диалоговое окно. Я пытаюсь отключить это диалоговое окно программно, чтобы пользователю никогда не приходилось вводить или настраивать Office / Word. Утилита, которую я пишу, потенциально может иметь сотни сохранений, поэтому всплывающее диалоговое окно не годится.

Ответы [ 2 ]

11 голосов
/ 22 февраля 2011

Мне удалось найти программное решение, установив в своем коде следующую опцию:

msDoc.Options.WarnBeforeSavingPrintingSendingMarkup = false;

При настройке я обнаружил, что вы также можете отключить эту функцию Office, перейдя в:

Параметры Word-> Центр управления безопасностью-> Параметры конфиденциальности-> Снимите флажок «Предупреждать перед печатью, сохранением или отправкой файла, который содержит отслеженные изменения или комментарии»

2 голосов
/ 20 декабря 2013
msDoc.Options.WarnBeforeSavingPrintingSendingMarkup = false;

или

Параметры Word-> Центр управления безопасностью-> Параметры конфиденциальности-> Снять отметку «Предупреждать перед печатью, сохранением или отправкой файла, содержащего отслеженные изменения или комментарии» *

не работает для меня.

Для меня работает:

msDoc.ActiveWindow.Close (WdSaveOptions.wdDoNotSaveChanges);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...