Поделиться через


Программное сохранение книг

Сохранить книгу можно несколькими способами. Можно сохранить книгу без изменения пути к файлу. Если книга не сохранялась ранее, следует сохранить книгу, указав путь. Без явного пути Microsoft Office Excel сохраняет файл в текущей папке с именем, заданным при его создании. Можно также сохранить копию книги, не изменяя открытую книгу в памяти.

Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Excel. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

Сохранение книги без изменения пути

Сохранение книги, связанной с настройкой на уровне документа

  1. Вызовите метод Save класса ThisWorkbook .

    this.Save();
    

Сохранение активной книги в надстройке VSTO

  1. Вызовите метод Save, чтобы сохранить активную книгу. Чтобы использовать следующий пример кода, запустите его в классе ThisAddIn в проекте надстройки VSTO для Excel.

    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, чтобы сохранить активную книгу с новым путем. Чтобы использовать следующий пример кода, запустите его в классе ThisAddIn в проекте надстройки VSTO для Excel.

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

Сохранение копии книги

Вы можете также сохранить копию книги в файл, не изменяя открытую книгу в памяти. Это полезно, если вам нужно создать резервную копию без изменения местоположения книги.

Сохранение книги, связанной с настройкой на уровне документа

  1. Вызовите метод SaveCopyAs класса ThisWorkbook . Чтобы использовать следующий пример кода, запустите его из класса ThisWorkbook.

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

Сохранение активной книги в надстройке VSTO

  1. Вызовите метод SaveCopyAs, чтобы сохранить копию активной книги. Чтобы использовать следующий пример кода, запустите его в классе ThisAddIn в проекте надстройки VSTO для Excel.

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

Проверка успешности сохранения

Для проверки успешности сохранения можно использовать некоторые элементы DocumentProperties , такие как последнее время сохранения.

Отказоустойчивость

Интерактивная отмена любых методов, которые сохраняют или копируют книгу, вызывает ошибку времени выполнения в коде. Например, если процедура вызывает SaveAs метод, но не отключает запросы из Excel, а пользователь нажимает кнопку "Отмена " при появлении запроса, Excel вызывает ошибку во время выполнения.