以编程方式保存工作簿

可通过多种方式保存工作簿。 可以保存工作簿而不更改路径。 如果以前没有保存过工作簿,则应该通过指定一个路径来保存工作簿。 如果没有显式路径,Microsoft Office Excel 会使用创建文件时为其指定的名称将文件保存在当前文件夹中。 还可以保存工作簿的副本,而不修改内存中打开的工作簿。

适用于: 本主题中的信息适用于 Excel 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

保存工作簿而不更改路径

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

  1. 调用 Save 类的 ThisWorkbook 方法。

    this.Save();
    

在 VSTO 外接程序中保存活动工作簿

  1. 调用 Save 方法以保存活动工作薄。 若要使用下面的代码示例,请在 Excel 的应用程序级项目内的 ThisAddIn 类中运行它。

    this.Application.ActiveWorkbook.Save();
    

使用新路径保存工作簿

可以将指定的工作簿保存到新位置或以新名称保存,还可以选择指定文件格式、密码和访问模式等。

注意

你可能希望在使用新路径保存工作簿之前将 DisplayAlerts 属性 设置为 False ,因为某些格式的保存需要交互。 将此属性设置为 False 会导致 Excel 使用所有默认值。

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

  1. 调用 SaveAs 类的 ThisWorkbook 方法。 若要使用下面的代码示例,请在 ThisWorkbook 类中运行它。

    this.SaveAs(@"C:\Book1.xml", missing,
        missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange,
        missing, missing, missing, missing, missing);
    

在 VSTO 外接程序中保存活动工作簿

  1. 调用 SaveAs 方法以将活动工作簿保存到新路径。 若要使用下面的代码示例,请在 Excel 的应用程序级项目内的 ThisAddIn 类中运行它。

    this.Application.ActiveWorkbook.SaveAs(@"C:\Test\Book1.xml", 
        Excel.XlSaveAsAccessMode.xlNoChange);
    

保存工作簿的副本

可以将工作簿的副本保存到文件中,而不修改内存中打开的工作簿。 当想要创建备份副本而不修改工作簿的位置时,此方法十分有用。

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

  1. 调用 SaveCopyAs 类的 ThisWorkbook 方法。 若要使用下面的代码示例,请在 ThisWorkbook 类中运行它。

    this.SaveCopyAs(@"C:\Book1.xlsx");
    

在 VSTO 外接程序中保存活动工作簿

  1. 调用 SaveCopyAs 方法以保存活动工作簿的副本。 若要使用下面的代码示例,请在 Excel 的应用程序级项目内的 ThisAddIn 类中运行它。

    this.Application.ActiveWorkbook.SaveCopyAs(@"C\Book1.xlsx");
    

验证保存是否成功

可以使用某些 DocumentProperties (如 上次保存时间 )来验证保存是否成功。

可靠编程

以交互方式取消任何保存或复制工作簿的方法将在代码中引发运行时错误。 例如,如果过程调用 SaveAs 该方法但不禁用来自 Excel 的提示,并且用户在出现提示时单击“ 取消 ”,Excel 将引发运行时错误。