Excel vba workbooks close

Excel vba workbooks close

Whenever the code is executed while multiple workbooks are open, office stops working with a message

Microsoft Office Excel has stopped working

Windows can try to recover your information and restart the program.

What’s wrong with the code? I’m using MS Office 2007 on Windows7

Invalid outside procedure

. If you have two subs correct practice is to call one sub from the another. – skkakkar May 27 ’16 at 5:15

Sub Auto_Close() ThisWorkbook.Saved = True End Sub

– skkakkar May 27 ’16 at 5:23

Sub CloseBook2() ActiveWorkbook.Close savechanges:=False End Sub

This routine can be attached to Close X Button. Workbook never closes partially, it will always close with all sheets contained in this workbook. – skkakkar May 27 ’16 at 5:27

1 Answer 1

If you want to close the workbook without incorporating changes. Then you can use code like this in workbook module

You can also use this for closing workbook without saving changes.

This routine can be attached to Close X Button. Workbook never closes partially, it will always close with all sheets contained in this workbook. DisplayAlerts = False and subsequently True can be incorporated in the routine. That should not create a problem like

Закрывает объект. Closes the object.

Синтаксис Syntax

Expression. Close (закрыть ) (SaveChanges, filename, раутеворкбук) expression.Close (SaveChanges, FileName, RouteWorkbook)

Expression (выражение ) Переменная, представляющая объект Workbook . expression A variable that represents a Workbook object.

Параметры Parameters

Имя Name Обязательный или необязательный Required/Optional Тип данных Data type Описание Description
SaveChanges SaveChanges Необязательный Optional Variant Variant Если в книгу нет изменений, этот аргумент игнорируется. If there are no changes to the workbook, this argument is ignored. Если книга содержит изменения, а книга отображается в других открытых окнах, этот аргумент игнорируется. If there are changes to the workbook and the workbook appears in other open windows, this argument is ignored. Если книга содержит изменения, но она не отображается в других открытых окнах, этот аргумент указывает, следует ли сохранить изменения. If there are changes to the workbook but the workbook doesn’t appear in any other open windows, this argument specifies whether changes should be saved. Если задано значение true, изменения сохраняются в книге. If set to True, changes are saved to the workbook.
Читайте также:  Dark souls 2 прокачка рыцаря

Если имя файла, связанное с книгой, еще не задано, используется имя файла . If there is not yet a file name associated with the workbook, FileName is used. Если параметр filename опущен, пользователю предлагается указать имя файла. If FileName is omitted, the user is asked to supply a file name.

FileName FileName Необязательный Optional Variant Variant Сохраняет изменения под этим именем файла. Saves changes under this file name. Раутеворкбук RouteWorkbook Необязательный Optional Variant Variant Если книга не должна маршрутизироваться следующему получателю (если она не имеет маршрута или уже была перенаправлена), этот аргумент игнорируется. If the workbook doesn’t need to be routed to the next recipient (if it has no routing slip or has already been routed), this argument is ignored. В противном случае Microsoft Excel перенаправляет книгу в соответствии со значением этого параметра. Otherwise, Microsoft Excel routes the workbook according to the value of this parameter.

Если задано значение true, книга отправляется следующему получателю. If set to True, the workbook is sent to the next recipient. Если задано значение false, книга не отправляется. If set to False, the workbook is not sent. Если этот параметр не задан, пользователю предлагается указать, следует ли отправить книгу. If omitted, the user is asked whether the workbook should be sent.

Примечания Remarks

При закрытии книги из Visual Basic макросы Auto_Close не выполняются в книге. Closing a workbook from Visual Basic doesn’t run any Auto_Close macros in the workbook. Используйте метод рунаутомакрос для запуска макросов AUTO_CLOSE. Use the RunAutoMacros method to run the Auto_Close macros.

Пример Example

В этом примере закрывается book1. xls и удаляются все внесенные в него изменения. This example closes Book1.xls and discards any changes that have been made to it.

Читайте также:  Asus rt n16 настройка wifi

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

The SaveChanges argument is ignored if the workbook appears in another open window.
If you are trying to save a new workbook that has not yet been saved then you can use the Filename argument to specify the location and filename of the saved workbook.

If changes have been made to the workbook then the following line will prompt the user to save these changes.

Have the changes been saved ?

You can use the Saved property of a workbook to determine if any changes have not been saved.

Closing all Workbooks without saving

This method has no arguments.

Close without a prompt

You can change the Saved property of the workbook to True and Excel will think that there are no changes to be saved.

Closing the Active Workbook

The SaveChanges argument is ignored of the workbook appears in another open window.
If you are trying to save a new workbook that has not yet been saved then you can use the Filename argument to specify the location and filename of the saved workbook.

Have the changes been saved ?

You can use the Saved property of a workbook to determine if any changes have not been saved.

Ссылка на основную публикацию
Adblock detector