Как закрыть книгу excel с помощью vba?

Чтобы закрыть файл Excel, необходимо использовать метод «Закрыть». С помощью этого метода вы можете указать, хотите ли вы сохранить изменения или нет. А если вы хотите сохранить и закрыть файл, который еще не сохранен, вы можете указать путь, по которому вы хотите его сохранить, прежде чем закрывать его.

Вот синтаксис метода close.

 Workbook.Close (SaveChanges, FileName, RouteWorkbook)
закрыть книгу с помощью VBA

Действия по закрытию книги

  1. Укажите книгу, которую хотите закрыть.
  2. Используйте метод close с этой книгой.
  3. В методе кода укажите, хотите ли вы сохранить файл или нет.
  4. В конце укажите путь, по которому вы хотите сохранить файл перед закрытием.

В этом уроке мы рассмотрим различные способы закрытия книги в Excel с помощью VBA.

Полезные ссылки: Запуск макросаСредство записи макросовРедактор Visual BasicПерсональный справочник по макросам

Закрыть книгу без сохранения

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

 ActiveWorkbook.Close SaveChanges:=False

В этом коде я указал «False» для аргумента «SaveChanges». Таким образом, VBA будет игнорировать любые изменения в книге, которые не сохранены. Если вы хотите закрыть определенную книгу, вы можете использовать имя этой книги. Точно так же, как следующий код.

 Workbooks("book1").Close SaveChanges:=False

Если у вас есть данные в книге и вы игнорируете аргумент «Сохранить изменения», Excel отобразит диалоговое окно, чтобы подтвердить, хотите ли вы сохранить книгу или нет. Дело вот в чем: аргумент «SaveChanges» лучше указывать, даже если он необязателен.

Закройте книгу после ее сохранения

Как вы видели, в методе CLOSE есть аргумент, указывающий путь. Допустим, вы хотите сохранить «Book6» в папку на рабочем столе. Вот код, который вам нужно использовать.

 Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx"

Этот код сохранит книгу «Book6» в папке, сохраненной на моем рабочем столе, под именем «myFILE.xlsx». Но вот одна вещь, о которой вам нужно позаботиться: если у вас уже есть книга с таким же именем, она заменит этот файл новым.

Не волнуйтесь, есть решение, которое вы можете использовать. Следующий код проверяет, существует ли файл с именем, которое вы хотите использовать.

 Sub vba_close_workbook() Dim wbCheck As String wbCheck = Dir("C:UsersDellDesktopmyFoldermyFile.xlsx") If wbCheck = "" Then Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx" Else MsgBox "Error! Name already used." End If End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *