How to: Save Workbooks

Applies to

The information in this topic applies only to the specified Visual Studio Tools for Office projects and versions of Microsoft Office.

Project type

  • Document-level projects

  • Application-level projects

Microsoft Office version

  • Excel 2003

  • Excel 2007

For more information, see Features Available by Application and Project Type.

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.

Saving a Workbook Without Changing the Path

To save a workbook associated with a document-level customization

  • Call the Save method of the ThisWorkbook class.

    Me.Save()
    
    this.Save();
    

To save the active workbook in an application-level add-in

  • Call the Save method to save the active workbook. To use the following code example, run it in the ThisAddIn class in an application-level project for Excel.

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

Saving a Workbook with a New Path

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.

To save a workbook associated with a document-level customization

  • Call the SaveAs method of the ThisWorkbook class. To use the following code example, run it in the ThisWorkbook class.

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

To save the active workbook in an application-level add-in

Saving a Copy of the Workbook

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.

To save a workbook associated with a document-level customization

  • Call the SaveCopyAs method of the ThisWorkbook class. To use the following code example, run it in the ThisWorkbook class.

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

To save the active workbook in an application-level add-in

  • Call the SaveCopyAs(Object) method to save a copy of the active workbook. To use the following code example, run it in the ThisAddIn class in an application-level project for Excel.

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

Robust Programming

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.

See Also

Tasks

How to: Activate Workbooks

How to: Close Workbooks

Concepts

Working with Workbooks

Workbook Host Item

Programmatic Limitations of Host Items and Host Controls

The Variable missing and Optional Parameters in Office Solutions

Host Items and Host Controls Overview

Change History

Date

History

Reason

July 2008

Added a code example that can be used in an application-level add-in.

Customer feedback.