How to: Programmatically save workbooks
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
There are several ways to save a workbook. You can save a workbook without changing the path. If the workbook has not been saved before, you should save the workbook by specifying a path. Without an explicit path, Microsoft Office Excel saves the file in the current folder with the name it was given when it was created. You can also save a copy of the workbook without modifying the open workbook in memory.
Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects for Excel. For more information, see Features available by Office application and project type.
Call the Save method of the
ThisWorkbook
class.this.Save();
Me.Save()
Call the Save method to save the active workbook. To use the following code example, run it in the
ThisAddIn
class in a VSTO Add-in project for Excel.this.Application.ActiveWorkbook.Save();
Me.Application.ActiveWorkbook.Save()
You can save the specified workbook to a new location or with a new name, optionally specifying a file format, a password, an access mode, and more.
Note
You might want to set the DisplayAlerts property to False before saving the workbook with a new path because saving in some formats requires interaction. Setting this property to False causes Excel to use all defaults.
Call the SaveAs method of the
ThisWorkbook
class. To use the following code example, run it in theThisWorkbook
class.this.SaveAs(@"C:\Book1.xml", missing, missing, missing, missing, missing, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
Me.SaveAs("C:\Book1.xml")
Call the SaveAs method to save the active workbook to a new path. To use the following code example, run it in the
ThisAddIn
class in a VSTO Add-in project for Excel.this.Application.ActiveWorkbook.SaveAs(@"C:\Test\Book1.xml", Excel.XlSaveAsAccessMode.xlNoChange);
Me.Application.ActiveWorkbook.SaveAs("C:\Test\Book1.xml")
You can save a copy of the workbook to a file without modifying the open workbook in memory. This is useful when you want to create a backup copy without modifying the location of the workbook.
Call the SaveCopyAs method of the
ThisWorkbook
class. To use the following code example, run it in theThisWorkbook
class.this.SaveCopyAs(@"C:\Book1.xlsx");
Me.SaveCopyAs("C:\Book1.xlsx")
Call the SaveCopyAs method to save a copy of the active workbook. To use the following code example, run it in the
ThisAddIn
class in a VSTO Add-in project for Excel.this.Application.ActiveWorkbook.SaveCopyAs(@"C\Book1.xlsx");
Me.Application.ActiveWorkbook.SaveCopyAs("C\Book1.xlsx")
Interactively canceling any of the methods that save or copy the workbook raises a run-time error in your code. For example, if your procedure calls the SaveAs method but does not disable prompts from Excel, and your user clicks Cancel when prompted, Excel raises a run-time error.