如何:保存文档

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Word 2003

  • Word 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

可通过多种方式保存 Microsoft Office Word 文档。 您可以保存文档而不更改文档的名称,也可以用新名称保存文档。

保存文档而不更改名称

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

保存活动文档

  • 调用活动文档的 _Document.Save 方法。 若要使用此代码示例,请从项目内的 ThisDocument 或 ThisAddIn 类中运行此示例。

    Me.Application.ActiveDocument.Save()
    
    this.Application.ActiveDocument.Save();
    

如果不确定要保存的文档是否是活动文档,可以使用文档名引用该文档。

保存通过名称指定的文档

  • 将文档名作为 Documents 集合的参数。 若要使用此代码示例,请从项目内的 ThisDocument 或 ThisAddIn 类中运行此示例。

    Me.Application.Documents("C:\Test\NewDocument.doc").Save()
    
    object fileName = @"C:\Test\NewDocument.doc"; 
    this.Application.Documents.get_Item(ref fileName).Save(); 
    

用新名称保存文档

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

说明:

如果在 ThisDocument 的 DocumentBeforeSave 事件处理程序内显示“另存为”对话框,并且将 Cancel 参数设置为 false,则应用程序可能会意外退出。 如果将 Cancel 参数设置为 true,将显示一条错误信息,指示 Autosave 已禁用。

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

  • 使用完全限定的路径和文件名调用 Microsoft.Office.Tools.Word.Document 类的 SaveAs 方法。如果该文件夹中已存在同名称的文件,则会覆盖该文件而不显示任何提示。 若要使用此代码示例,请从项目内的 ThisDocument 类中运行此示例。

    说明:

    如果目标目录不存在或者保存文件时有其他问题,SaveAs 方法将引发异常。 好的做法是在 SaveAs 方法前后或在一个调用方法内部使用 try…catch 块。

    Me.SaveAs("C:\Test\NewDocument.doc")
    
    object fileName = @"C:\Test\NewDocument.doc"; 
    
    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);
    

用新名称保存本机文档

  • 使用完全限定的路径和文件名,调用想要保存的 Microsoft.Office.Interop.Word.DocumentSaveAs 方法。 如果该文件夹中已存在同名称的文件,则会覆盖该文件而不显示任何提示。

    下面的代码示例用新名称保存活动文档。 若要使用此代码示例,请从项目内的 ThisDocument 或 ThisAddIn 类中运行此示例。

    说明:

    如果目标目录不存在或者保存文件时有其他问题,SaveAs 方法将引发异常。 好的做法是在 SaveAs 方法前后或在一个调用方法内部使用 try¡…catch 块。

    Me.Application.ActiveDocument.SaveAs("C:\Test\NewDocument.doc")
    
    object fileName = @"C:\Test\NewDocument.doc";
    
    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);
    

编译代码

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

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

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

请参见

任务

如何:关闭文档

如何:打开现有文档

概念

文档宿主项

了解 Office 解决方案中的可选参数