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

时间:2013-03-05 19:00:30

标签: c# ms-word office-interop

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

基本上我使用邮件合并打印来自c#的报告,文件制作,值传递给它没问题,然后我可以打印它没有任何问题,但是,我只需要打印文档,我不需要在计算机上保存副本。

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

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

然而,这会打印文档,然后弹出“保存”对话框,询问保存文档的位置。我不想要这个,因为点击取消会产生错误(并且需要用户进行另一次不需要的交互),而且我不需要保存文件。

有什么想法吗?

使用Visual Studio 2012,.NET 4.0,我尝试使用Office文档的以下文件类型:.doc,.dot,.docx,.dotx。

3 个答案:

答案 0 :(得分:5)

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

看看:

how to close a running instance of Word document? (C#)

MSDN Reference

答案 1 :(得分:2)

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

我发现这种方法非常适合我:

 //From Arduino to Processing to Txt or cvs etc.
//import
import processing.serial.*;
//declare
PrintWriter output;
Serial udSerial;

void setup() {
  udSerial = new Serial(this, Serial.list()[0], 115200);
  output = createWriter ("data.txt");
}

  void draw() {
    if (udSerial.available() > 0) {
      String SenVal = udSerial.readString();
      if (SenVal != null) {
        output.println(SenVal);
      }
    }
  }

  void keyPressed(){
    output.flush();
    output.close();
    exit(); 
  }

答案 2 :(得分:0)

如何抑制警报?

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