繁体   English   中英

如何不使用 microsoft.office.interop.word 保存文档

[英]How to NOT save documents using microsoft.office.interop.word

只是想知道是否有人知道在使用 Microsoft.Office.Interop.Word 时如何在创建后不保存文档。

基本上我正在使用邮件合并从 c# 打印报告,生成文档,将值传递给它没有问题,然后我可以毫无问题地打印它,但是,我只需要打印文档,我不需要在计算机上保存副本。

将所有值传递给文档后,我使用以下代码打印并关闭文档:

wordDoc.PrintOut();
wordDoc.Close();
wordApp.Application.Quit();

但是,这会打印文档,然后会弹出“保存”对话框,询问将文档保存在哪里。 我不希望这样,因为单击取消会产生错误(并且需要用户进行另一次不需要的交互),并且我不需要保存文件。

有任何想法吗?

使用 Visual Studio 2012、.NET 4.0,并且我尝试使用以下文件类型作为办公文档:.doc、.dot、.docx、.dotx。

您可以将SaveChanges参数作为wdDoNotSaveChanges传递给Close方法以跳过保存部分。

看一下:

如何关闭正在运行的 Word 文档实例? (C#)

MSDN 参考

我知道这是对 Johns 问题的一个非常晚的回复,但我还需要在不显示保存对话框的情况下关闭已编辑的文档。

我发现这种方法对我来说非常有效:

// Tells the application not to save changes    
((_Application)wordDoc.Application).Quit(false);

如何抑制警报?

Word.Application word = new Word.Application();
word.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;

我知道这已经很晚了,但你可以试试这个。

Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = false };
Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(fileName, ReadOnly: true, Visible: true);
Microsoft.Office.Interop.Word.WdSaveOptions dontSave = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges; 

aDoc.Close(dontSave, null, null);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM