以编程方式保存文档

可通过几种方法来保存 Microsoft Office Word 文档。 可以在不更改文档名称的情况下保存文档,也可以使用新名称保存文档。

适用于:本主题中的信息适用于文档级别项目以及 Word 的 VSTO 外接程序项目。 有关详细信息,请参阅按 Office 应用程序和项目类型提供的功能

不更改文档名称的情况下保存文档

保存与文档级自定义项关联的文档

  1. 调用 Save 类的 Document 方法。 若要使用此代码示例,请从项目中的 ThisDocument 类运行它。

    this.Save();
    

保存活动文档

  1. 为活动文档调用 Save 方法。 若要使用此代码模板,请从项目中的 ThisDocumentThisAddIn 类运行它。

    this.Application.ActiveDocument.Save();
    

    如果不确定要保存的文档是否为活动文档,可以按其名称引用它。

保存按名称指定的文档

  1. 将文档名称用作 Documents 集合的参数。 若要使用此代码模板,请从项目中的 ThisDocumentThisAddIn 类运行它。

    this.Application.Documents[@"C:\Test\NewDocument.docx"].Save();
    

使用新名称保存文档

使用 SaveAs 方法以新名称保存文档。 可以在文档级 Word 项目中使用 Document 宿主项的此方法,也可以在任何 Word 项目中对本机 Document 对象使用此方法。 此方法要求指定新的文件名,但其他参数是可选的。

注意

如果在 ThisDocumentDocumentBeforeSave 事件处理程序中显示 SaveAs 对话框,并将 Cancel 参数设置为 false,则应用程序可能会意外退出。 如果将 Cancel 参数设置为 true,将显示一条错误消息,指示已禁用自动保存。

用新名称保存与文档级自定义项关联的文档

  1. 使用完全限定的路径和文件名调用项目中 ThisDocument 类的 SaveAs 方法。 如果该文件夹中已存在具有该名称的文件,则以无提示方式覆盖它。 若要使用此代码示例,请从 ThisDocument 类中运行它。

    注意

    如果目标目录不存在或保存文件时存在其他问题,则 SaveAs 方法会引发异常。 在 SaveAs 方法周围或调用方法内部使用 try...catch 块是一种很好的做法。

    object fileName = @"C:\Test\NewDocument.docx"; 
    
    this.SaveAs(ref fileName,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    

使用新名称保存本机文档

  1. 使用完全限定路径和文件名来调用要保存的 DocumentSaveAs 方法。 如果该文件夹中已存在具有该名称的文件,则以无提示方式覆盖它。

    下面的代码示例使用新名称保存活动文档。 若要使用此代码模板,请从项目中的 ThisDocumentThisAddIn 类运行它。

    注意

    如果目标目录不存在或保存文件时存在其他问题,则 SaveAs 方法会引发异常。 在 SaveAs 方法周围或调用方法内部使用 try...catch 块是一种很好的做法。

    object fileName = @"C:\Test\NewDocument.docx";
    
    this.Application.ActiveDocument.SaveAs(ref fileName,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    

编译代码

此代码示例要求满足以下条件:

  • 若要按名称保存文档,名为 NewDocument.doc 的文档必须存在于驱动器 C 上名为 Test 的目录中。

  • 若要用新名称保存文档,驱动器 C 上必须存在一个名为 Test 的目录。