2011-02-22 47 views
4
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次保存,所以弹出对话框不好。如何禁用“正在保存的文档包含跟踪的更改”Word对话框使用C#

回答

11

我能找出通过设置以下选项中我的代码编程解决方案:

msDoc.Options.WarnBeforeSavingPrintingSendingMarkup = false; 

配置聪明,我发现你也可以通过进入禁用此Office功能:

Word选项 - >信任中心 - >隐私选项 - >取消选中“打印前警告,保存或发送包含修订或批注的文件”

2
msDoc.Options.WarnBeforeSavingPrintingSendingMarkup = false; 

的Word选项 - >信任中心 - >隐私选项 - >取消选中“打印前警告,保存或发送包含修订或批注的文件”

不会为我工作。

我什么工作原理是:

msDoc.ActiveWindow.Close(WdSaveOptions.wdDoNotSaveChanges);

+1

我希望我能投票这十几次...有一个邮件合并模板的保存对话框的问题,这完全保存了我的培根 – 2016-04-15 22:39:30