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的输入或配置。我正在编写的实用程序可能有100次保存,因此弹出对话框不好。
答案 0 :(得分:11)
通过在我的代码中设置以下选项,我能够找到一个程序化的解决方案:
msDoc.Options.WarnBeforeSavingPrintingSendingMarkup = false;
配置明智我发现您也可以通过以下方式禁用此Office功能:
Word选项 - >信任中心 - >隐私选项 - >取消选中“在打印,保存或发送包含跟踪的更改或评论的文件之前发出警告”
答案 1 :(得分:2)
msDoc.Options.WarnBeforeSavingPrintingSendingMarkup = false;
或
Word选项 - >信任中心 - >隐私选项 - >取消选中“在打印,保存或发送包含跟踪的更改或评论的文件之前发出警告”
对我不起作用。
对我有用的是:
msDoc.ActiveWindow.Close(WdSaveOptions.wdDoNotSaveChanges);