При выходе excel vba

I have used the following without success. The active workbook closes, indeed, but the excel window remains open.

Application.ActiveWindow.Close SaveChanges:=False
ActiveWorkbook.Close SaveChanges:=False

Which is the command that terminates the application?

EDIT

To say a little more: In the workbook Open event I run a macro. I want to terminate the application when that macro finishes. I also tried this without success.

Private Sub Workbook_Open()
   Macro_MyJob
   Application.Quit
End Sub

Where should I put this Application.Quit command?

asked Sep 2, 2010 at 14:45

Brani's user avatar

BraniBrani

6,57415 gold badges46 silver badges49 bronze badges

I think your problem is that it’s closing the document that calls the macro before sending the command to quit the application.

Your solution in that case is to not send a command to close the workbook. Instead, you could set the «Saved» state of the workbook to true, which would circumvent any messages about closing an unsaved book. Note: this does not save the workbook; it just makes it look like it’s saved.

ThisWorkbook.Saved = True

and then, right after

Application.Quit

answered Sep 2, 2010 at 16:00

variant's user avatar

variantvariant

1,3442 gold badges11 silver badges18 bronze badges

To avoid the Save prompt message, you have to insert those lines

Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True

After saving your work, you need to use this line to quit the Excel application

Application.Quit

Don’t just simply put those line in Private Sub Workbook_Open() unless you got do a correct condition checking, else you may spoil your excel file.

For safety purpose, please create a module to run it. The following are the codes that i put:

Sub testSave()
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.DisplayAlerts = True
Application.Quit
End Sub

Hope it help you solve the problem.

answered Apr 29, 2013 at 8:14

Leng Keong's user avatar

Leng KeongLeng Keong

1431 silver badge3 bronze badges

1

Sub TestSave()
Application.Quit
ThisWorkBook.Close SaveChanges = False
End Sub

This seems to work for me, Even though looks like am quitting app before saving, but it saves…

answered Jan 6, 2015 at 8:33

kc kalama's user avatar

kc kalamakc kalama

711 silver badge1 bronze badge

2

Application.Quit 

Should do the trick.

answered Sep 2, 2010 at 14:47

Michael's user avatar

MichaelMichael

1,6362 gold badges16 silver badges21 bronze badges

0

I tried a certain sequence that seems to work as you can see below:

ThisWorkbook.Saved = True
Application.Quit
Application.ActiveWindow.Close SaveChanges:=False
ActiveWorkbook.Close SaveChanges:=False

ForceMagic's user avatar

ForceMagic

6,15212 gold badges68 silver badges88 bronze badges

answered Jul 17, 2013 at 19:55

Dan's user avatar

You can try out

ThisWorkbook.Save
ThisWorkbook.Saved = True
Application.Quit

answered Mar 27, 2019 at 5:19

K10's user avatar

In my case, I needed to close just one excel window and not the entire application, so, I needed to tell which exact window to close, without saving it.

The following lines work just fine:

Sub test_t()
  Windows("yourfilename.xlsx").Activate
  ActiveWorkbook.Close SaveChanges:=False
End Sub

answered Jun 7, 2018 at 13:55

Panagiotis Chatzikonstantis's user avatar

Sub button2_click()
'
' Button2_Click Macro
'
' Keyboard Shortcut: Ctrl+Shift+Q
'
    ActiveSheet.Shapes("Button 2").Select
    Selection.Characters.Text = "Logout"
    ActiveSheet.Shapes("Button 2").Select
    Selection.OnAction = "Button2_Click"
    ActiveWorkbook.Saved = True
    ActiveWorkbook.Save
    Application.Quit
End Sub

LuigiEdlCarno's user avatar

answered Jul 26, 2013 at 7:07

Menon's user avatar

Skip to content

На чтение 3 мин. Просмотров 2.9k.

Что делает макрос:  Этот макрос защищает от случайного закрытия файла перед сохранением. Он гарантирует, что Excel автоматически сохранит файл перед закрытием.

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

С этим макросом Вы защитите свой файл от невнимательных пользователей.

Содержание

  1. Как это работает
  2. Код макроса
  3. Как работает этот код
  4. Как использовать

Как это работает

Этот код запускается событием рабочей книги (BeforeClose- перед закрытием). При нажатии на кнопку Закрыть срабатывает событие и запускается макрос. Суть кода проста — он запрашивает у пользователя, действительно ли он хочет закрыть книгу

Как сохранить файл в Excel перед закрытием

Макрос затем проверяет какую кнопку нажал пользователь ОК или Отмена. Оценка производится с помощью конструкции Select Case. Оператор Select Case является альтернативой в If … Then … Else, что позволяет выполнять проверки условий ваших макросов (обычно используется для большого количества условий).

Код макроса

Private Sub Workbook_BeforeClose(Cancel
As Boolean)Выведем сообщение с "ОК" или "Отмена"
Select Case MsgBox("Сохранить и закрыть?",vbOKCancel)
'Если нажал "Отмена", закрываем окно
Case Is = vbCancel
Cancel=True
'Если нажал "Да", то сохраняем книгу
Case Is=vbOK
ActiveWorkbook.Save
'Завершаем проверку, закрываем Select Case
End Select
End Sub

Как работает этот код

Давайте подробно рассмотрим каждую строчку кода

  1. На шаге 1 мы активируем окно c сообщением, где в качестве проверки используем оператор Select Case. Здесь мы используем аргумент vbOKCancel, чтобы на формочке отображались кнопки ОК и Отмена.
  2. Если пользователь нажал кнопку Отмена в окне сообщения, макрос говорит Excel: «Не выходим! Закрой событие!». Это делается путем присвоения переменной Cancel свойства True
    (Верно). Если пользователь нажал кнопку OK в окне сообщений, п. 3 вступает в силу.
  3. Здесь мы говорим Excel: «Сохранить книгу!». Здесь мы не пишем Cancel = True, поэтому событие успешно завершается.
  4. На шаге 4, мы просто закрываем Оператор Select Case.

Как использовать

Для реализации этого макроса, Вам нужно скопировать и вставить его в код события Workbook_BeforeClose. Размещение макроса здесь позволяет запускать макрос непосредственно перед закрытием excel-файла.

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. В окне проекта найдите свой проект/имя рабочей книги и нажмите на знак плюс рядом с ним в чтобы увидеть все листы и модуль ЭтаКнига.
  3. Правой кнопкой мыши нажмите на модуле ЭтаКнига и выберите View Code.
  4. В левой части окна выберите объект WorkBook (Excel автоматом предложит написать макрос для события Workbook_Open (можете позже удалить его за ненадобностью)
  5. В правом выпадающем списке свойство BeforeClose

Хорошая программа должна предусматривать все варианты, так что следите за ходом моих мыслей :
Инструкция ActiveWorkbook.Save не требует определения имени, но при отсутствии Application.DisplayAlerts = False и наличии в папке автосохранения файла с именем Книга1 и т.д. (в русской версии новые файлы носят именно такие имена) возникнет вопрос о замене файла.
С другой стороны при отключении запросов ‘старый’ файл будет автоматически заменен на ‘новый’, а если это принципиально разные файлы, да ещё с очень важной информацией !!!
При таком раскладе лучше мы очень рискуем и лучше получить запрос на замещение файла(ов), чем потерять данные !!!

Так что моя программка почти полностью отвечает запросам пользователя , но если Вас раздражают стандартные диалоговые окна, то
можно использовать перехват ошибки и вывести в Msgbox всю информацию о ‘старом’ файле и возможность пользователю выбрать вариант замены.
Если подобный код интересен, то пишите сразу на e-mail : urllink_doggie_yandex.ru

Макрос закрытия книги без сохранения

​Смотрите также​​Private Sub CommandButton4_Click()​
​ и получать нужный​ как правильно?​ #2 объект, точка​ As Excel.Application Dim​Set oExcel =​ это сделать через​ & » /T»,​Ответ:​

​ что при событии​​ к строковым переменным​
​ActiveWorkbook.Close True​ так:​ кликом сохранялся файл​Workbooks.Close​
​ не работает (​vadim​ Set_windows.Hide End Subпри​ результат???​Но ведь в​

​ Клозе, ну сделал​​ oWorkbook As Excel.Workbook​ CreateObject(«Excel.Application») ‘создать объект​ regional settings, а​
​ vbHide Else: MsgBox​Разместите этот код​ открытия файла из​Вы пытаетесь прицепить​
​End If​
​Sub TestClose()​ и закрывался Excel?​

​End Sub​​Юрий М​

​: ActiveWindow.Close​​ закрытии все настройки​

​oExcel.Worksheets(«Лист1»).Range(«a1»).Font.Size = 14​​ Ворде в том​ так​ Dim Количество_найденного_текста As​ Microsoft Excelзатем делаю​

​ вот как бы​​ «Excel не может​ в модуле книги,​ некоторой папки, переписываются​

​ значение типа Integer,​​End Sub​Application.Run «ВосстановитьИнтерфейс»​Юрий М​KSV​

​: Вы, если спрашиваете,​​При закрытии книги​
​ сохраняются, при открытии​
​Busine2009​

​ скрипте который я​так как не​

​ Long Set oExcel​​ что хочу​ программно?​ закрыться, наверное вы​ (обычно с названием​ модули в VBA​ возвращаемое функцией​openid.mail.ru/mail/vlad3622340​Application.Quit​: Не это ищете:​: все правильно​
​ то хоть читайте​ появляется окно «Сохранить​
​ снова этой формы​
​:​

​ представил не ругается,​​ знаю как правильно,​
​ = CreateObject(«Excel.Application») ‘создать​………………..​
​Ципихович Эндрю​
​ не сказали пожалуйста»,​
​ ЭтаКнига)​ в открытый файл.​InStr(sName, »&»)Андрей​: Спасибо, Юрий, ещё​ActiveWorkbook.Close True​

​ Workbooks(имя).Close true Или​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>’ подавляет предупреждения Excel​ ответы. Ведь ясно​ изменения в файле?»​ с следующий раз-​Ципихович Эндрю​ выполнается и есть​ приходится угадывать​ объект Microsoft Excel​

​хочу закрыть без​
​: Вроде изучил этот​
​ 16: Cancel =​

​Option Explicit Private​​ Модули предназначены для​

planetaexcel.ru

закрытие екселя с сохранением и без предупреждения (Макросы/Sub)

​wertt​​ раз!​End Sub​ активная книга​Workbooks.Application.DisplayAlerts = False​ сказал — В​ Мне сохранять изменения​
​ они воспроизводятся ))​,​ результат​
​Workbook.Close savechanges =​
​ oExcel.Workbooks.Open ("L:Г.xls") oExcel.Visible​
​ вопросов, пишу так:​
​ вопрос​
​ 1 End If​
​ Sub Workbook_BeforeClose(Cancel As​

​ того что-бы не​​: Все равно ошибка​
​Вроде разобрался.​
​А в модуле​
​openid.mail.ru/mail/vlad3622340​' сохраняет книгу​ МОДУЛЬ КНИГИ. В​
​ не надо. Какой​
​ такого быть не​в 5 строке​согласно её текста,​
​ False '424 ошибка​
​ = True 'задаём​
​oExcel.Workbooks.Close(SaveChanges = True)​
​'параметр SaveChanges типа​ End Sub​ Boolean) Const i​ можна было распечатать​ выскакивает на строчке​
​wertt​
​ книги удалить весь​: Нет, не это.​ в файл С​ ответ: "Вставил отдельным​ надо написать макрос​
​ должно?))​
​ помести в переменную​ что за подвох??​ oExcel.Close savechanges =​ размер шрифта для​ 'ошибка аргумент не​ Boolean, если установить​
​Night Ranger​ = "Excel закройся​ документ и сохранять.Что-то​ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges.​
​: Нужно закрыть документ​

​ код.​​Открыта всего одна​ ДРУГИМ именем​ модулем…» Тогда или​
​ чтобы это окно​
​Ципихович Эндрю​
​ oWorkBook открываемый документ.​

excelworld.ru

Закрытие Excel макросом без запроса о сохранении

​Busine2009​​ False ‘438 ошибка​

​ листа …, ячейки​
​ верный???????если напишу так:​

​ True сделанные изменения​: теперь Excel убегает,​
​ пожалуйста» MsgBox _​ я совсем невнимательно​Пишет Run-time error​ без сохранения. К​openid.mail.ru/mail/vlad3622340​

​ книга и нажатием​​Excel.ActiveWorkbook.SaveAs («rl.xlsm»)​ вызывайте этот макрос​ не появлялось?​

​: так и должно​​так запрограммировано.​
​:​ oWorkbook.Close savechanges =​ … равным 14​oExcel.Workbooks.Closeвсё работает, но​ сохранятся​

​ когда я его​​ «Вы уверенны что​

​ читал условие твоей​​ 4198​
​ сожалению ничего неполучается.​
​: Спасибо!​
​ на кнопку нужно​
​’ сохраняет книгу​ или явно на​

​Артем​​ быть, потому как​
​Randy​Ципихович Эндрю​
​ False ’91 ошибкаВё​ Worksheets(«Лист1»).Range(«a1»).Font.Size = 14​ мне так не​

​’в противном случае​ пытаюсь закрыть,​ завершили свою работу​ задачи (​

​Ошибка команды.​Private Sub Document_Close()​
​Всё получилось!​
​ её сохранить и​

​ в файл С​ событие пишите:​

​: вот так​​ Вы не выгрузили​: здравствуйте! Подскажите, пожалуйста,​,​
​ мимо, ещё 8​
​ oExcel.Workbooks.Close 1 oExcel.Workbooks.Close​ надо, так как​
​ нет, если параметр​
​Ужос!​
​ ?» & vbCrLf​
​Вот решение:​Может потому что​ Application.DisplayAlerts = True​Немного, конечно, не​

​ закрыть Excel.​​ ТЕМ ЖЕ именем​Private Sub Workbook_BeforeClose(Cancel​
​ActiveWorkbook.Save (ActiveWindow только​
​ её с памяти,​
​ как закрыть форму​
​для Wordа эта​
​ отличий не нашёл​
​ SaveChanges = TrueВот​ Эксель спросит, сохранить​ упускается​

​Option Explicit Private​​ & _ «может​
​Sub AutoClose() ActiveWindow.Close​
​ закрыть мы хотим​ strPath = ‘C:Моя​ удобно, когда при​Юрий М​Excel.ActiveWorkbook.Save​ As Boolean)​

​ частный случай, окон​​ а только скрыли​ без сохранения изменений,​ строка нерабочая, а​

​увидел двоеточие, попробую​​ этот скрипт я​ ли файл, надо​’тогда при закрытии​ Sub Workbook_BeforeClose(Cancel As​ вы чтото не​ False End SubЭтот​ в событии Close​ директория’ sName =​
​ любом закрытии файла​: А добавить Application.Quit​’ закрывает книгу​

​ActiveWindow.Close False​​ в одном файле​ с глаз -​
​ внесенных в такие​ не для Excel.​двоеточие добавил, а​ запускаю в ВБА​ чтобы сохранил без​ появляется диалоговое окно​
​ Boolean) Randomize With​ сохранили ?», 64​

​ ‘авто-макрос’ надо разместить​​wertt​
​ ActiveDocument.Name If ActiveDocument.FullName​
​ изменения всегда будут​
​Юрий М​Workbooks.Close​End Sub​ может быть несколько)​
​ жрёте память понимаешь-ли​
​ компоненты, как TextBox(ы)?​
​Правильно, вот к​
​ ошибки те же​
​ в Ворде, на​

​ вопросов​​ с вопросом о​ Application .WindowState =​
​ If InputBox(«Напишите такие​

planetaexcel.ru

Выход из документа без сохранения.

​ или в ThisDocument,​​: Попробуй SaveChanges:=False​ Like ‘*’ &​ сохраняться без спроса.​
​: Sub TestClose()​’ закрыть с​k61​Application.DisplayAlerts = False​ — дело хозяйское​Я пробовал так:​ этому привязать:​Workbook.Close savechanges:=False ‘424​ двух последних строчках​Busine2009​ необходимости сохранения​

​ xlNormal .Width =​​ слова: » &​

​ или в каком-либо​​wertt​ strPath & ‘*’​
​ Но это ерунда.​
​Application.Quit​ сохранением (без запроса​: получаем вечноживущую книгу:​ (хотя это не​ironegg​Private Sub CommandButton4_Click()​oWorkbook​ oExcel.Close savechanges:=False ‘438​ выделяет​: вытащи из скобок​’параметр FileName необходим,​ 300: .Height =​

​ i) = i​​ модуле, находящемся внутри​
​: Ошибок нет, но​ And InStr(sName, ‘&’)​Юрий М​ActiveWorkbook.Close True​ подтверждения пользователя, даже​Private Sub Workbook_BeforeClose(Cancel​ спасет, если файл​: префикс​
​ Set_windows.Hide End SubНо​Ципихович Эндрю​ oWorkbook.Close savechanges:=False ’91​
​’.Close и сообщение:​ и пробелом отбей.​ когда идёт вопрос​
​ 200 .Left =​ Then Shell «taskkill​ документа.​
​ привходе спрашивает о​

​ Then Application.DisplayAlerts =​​: Добавьте MsgBox, который​End Sub​
​ если .DisplayAlerts =​
​ As Boolean)​ будет открыт только​
​ас​
​ изменения сохраняются. Поискал​: Я Вас уверяю​Busine2009​

​ wrong Number of​​Ципихович Эндрю​

​ о закрытии книги​​ Fix(Rnd * .Width):​ /f /IM excel.exe​Документ захлопнется без​

​ сохранении файла.​​ False ActiveDocument.Close End​

​ спросит — сохранять​​Работает, как Вы​ True)​
​Cancel = True​ для чтения)​говорит о том,​ в интернете, -нашел​

​ в Ворде, что​:​
​ arguments or invalid​
​: теперь​ не связанной ещё​
​ .Top = Fix(Rnd​ /T», vbHide Else:​ лишних вопросов и​
​wertt​ If End Sub​ или нет?​ и хотели.​Workbooks.Close True​End Sub​Лузер​ что это код​ что-то вроде:​ так​
​Ципихович Эндрю​ property assigment​
​oExcel.Workbooks.Close SaveChanges =​ с именем файла​ * .Height) End​ MsgBox «Excel не​
​ без сохранения.​: Пардон, при выходе.​sitcom​openid.mail.ru/mail/vlad3622340​openid.mail.ru/mail/vlad3622340​’ закрыть без​Открывает возможность не​: Артем! Просят закрыть​ для Access.​Private Sub CommandButton4_Click()​oExcel.Worksheets(«Лист1»).Range(«a1»).Font.Size = 14что​,​Что мне там​
​ Trueвыделяет .Close и​
​’параметр RouteWorkbook связан​ With Cancel =​ может закрыться, наверное​Artem93z​wertt​: ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges​: Да, Юрий, в​
​: Спасибо, Юрий!​ сохранения (без запроса​ закрывать книгу до​

CyberForum.ru

Закрыть Excel, не сохраняя файл

​ без сохранения, а​​а это​ On Error GoTo​ так​теперь 10 строку​ нужно изменить, чтобы​ сообщение Wrong number​ с одновременной работой​ 1 End Sub​ вы не сказали​: Как можно закрыть​: Ну не знаю​wertt​ последнем Вашем посте​Но работает не​ подтверждения пользователя, даже​ тех пор пока​ ты предлагаешь сохранить.​

​говорит о том,​​ Err_CommandButton4_Click DoCmd.RunCommand acCmdUndo​Worksheets(«Лист1»).Range(«a1»).Font.Size = 14работает!​

​ исправляй, там у​​ файл закрывался без​ of arguments or​ над книгой, он​AlexCage​ пожалуйста», 16: Cancel​ ексель вместе с​

​ тогда.​​: Пишет Run-time error​

​ этого недостатка нет,​​ так, как хотел.​​ если .DisplayAlerts =​
​ не будут выполнены​ActiveWorkbook.Saved = True​ что, скорее всего,​ DoCmd.Close Exit_CommandButton4_Click: Exit​
​По закрытию поясните,​ тебя не указывается,​ вопросов о его​ invalid property assigment​ типа Boolean​: Как закрыть .xls​ = 1 End​ книгой с макросами?​Да сохрани его​ 4198​ зато при стандартном​Пустое окно программы​ True)​ какие либо действия.​ — говорит, что​ код выполняется в​ Sub Err_CommandButton4_Click: DoCmd.CloseНо​ пожалуйста, как строка​ к какой книге​ сохранении???​Busine2009​Но пишу так​ без сохранения, чтобы​

​ If End Sub​​ Application.Quit спрашивает, сохранить​​ перед закрытием отдельной​​Ошибка команды.​ закрытии Excel крестиком​ Excel всё-равно остаётся​Workbooks.Close False​
​Alex_ST​ книга уже сохранена,​ Word или Excel.​ на команду​ будет??​ относится лист.​Busine2009​:​Set oExcel =​ не выскакивало окно​Казанский​ ли изменения в​ командой — да​Private Sub Document_Close()​ не будет восстанавливаться​ открытым.​’ закрыть Excel​: Вполне можно событие​ ничего не сохраняя​в этом и​DoCmd.RunCommandкомпилятор ругается. Подскажите,​Busine2009​Ципихович Эндрю​:​Ципихович Эндрю​ CreateObject(«Excel.Application») ‘создать объект​ с вопросом о​:​

​ файле (в книжке).​​ и всех делов.​ Application.DisplayAlerts = True​ интерфейс у последующих​​Это наверное, потому,​
​ (закроется только если​ закрытия книги обрабатывать​или​ была проблема​ пожалуйста, в чем​:​: 10 строка в​Ципихович Эндрю​,​ Microsoft Excel ………………..​ сохранении изменений в​Night Ranger​

CyberForum.ru

Как зарыть файл без сохранения (Excel/VBA )?

​ мне не нужно​​Вообщем то цель​ strPath = ‘C:Моя​ открываемых файлов.​ что при закрытии​ в этом же​ не в модуле​
​ActiveWindow.Close False -​

​Теххи​​ дело..​Ципихович Эндрю​

​ моём 9 м​​,​всё правильно, см.​

​ oExcel.Workbooks.Close(SaveChanges = True)​ файле?​
​, угу, и вдруг​ сохранить их. А​ не сохранять.)​ директория’ sName =​Всем запросам не​ выполняется ещё один​ Application больше нет​ книги (как положено),​ закрыть без сохранения​: Народ, подскажите, как​KoGG​,​ сообщениии, это вот​11 строку удали,​ #2.​ ‘ошибка аргумент не​Зарание спасибо, Alex​ закроется другой экземпляр​

CyberForum.ru

Закрыть файл Excel с сохранением сделанных изменений

​ если я перед​​затупил я что-то​ ActiveDocument.Name If ActiveDocument.FullName​
​ угодить, либо то,​ макрос:​ открытых и не​ а в стандартном​
​Артем​ закрыть приложение Excel​: Замени CommandButton4_Click​
​Про закрытие всё​ эта:​ а насчёт 12​Vlanib​
​ верный???????так​AlexCage​ приложения Excel с​ куайтом закрою книгу​Тогда ни черта​
​ Like ‘*’ &​ либо это:)​Sub Workbook_BeforeClose(Cancel As​ сохраненных книг,​
​ модуле (как попытался​
​: ага, ошибся, сорри​ из VB без​Private Sub CommandButton4_Click()​ уже разъяснено. Вставьте​Worksheets(«Лист1»).Range(«a1»).Font.Size = 14Во​ строки:​
​: Вот так напиши:​oExcel.Workbooks.Closeвопросов нет, но​: ThisWorkbook.Close (SaveChanges =​

​ кучей несохраненных данных​​ без сохранения -​
​ не понимаю.​​ strPath & ‘*’​​openid.mail.ru/mail/vlad3622340​ Boolean)​’ иначе будет​
​ сделать marat), но​vadim​ сохранения изменений?​ Unload Me End​
​ ещё раз ваш​

​ всяком случае она​​найди 10 отличий​oExcel.Workbooks.Close 1​
​ мне так не​ False)​Тогда уж так​
​ до куайта не​Только что сделал​ And InStr(sName, ‘&’)​: А MsgBox куда​
​Application.Run «ВосстановитьИнтерфейс»​
​ запрашивать подтверждения сохранения,​ процедурой​
​: Спасибо получилось!!!​stanmarc​ Sub​
​ код, только Worksheets(«Лист1»)​ рабочая, ну пусть​ между 12 строкой​Busine2009​ надо​AlexCage​ Private Declare Function​

​ дойдет, т.к. закроется​​ процедуру с единственной​ Then Application.DisplayAlerts =​

​ добавить?​​End Sub​
​ при .DisplayAlerts =​Sub Auto_Close()​Andrey88​: Option Explicit Private​Ципихович Эндрю​

​ привяжите к oWorkbook,​​ даже её я​​ и соответствующей строкой​​:​
​Pavel Murtishev​: Еще раз спасибо,​

​ GetCurrentProcessId Lib «kernel32″​​ файл, а вместе​
​ строчкой:​

​ False ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges​​В макрос «ВосстановитьИнтерфейс»​​Как это можно​​ True)​
​ActiveWindow.Close False​: ActiveWindow.Close False -​ appExl As Excel.Application​: как видите не​ а не oExcel.​

​ заремарчу, ничего ведь​​ из #2.​Vlanib​: Эндрю,​ за HELP!​ () As Long​ с ним и​ActiveDocument.Close FalseВ пустом​ End If End​ (запускаемый при закрытии​ обойти?​Application.Quit​End Sub​ А куда конкретно​ Private wbItems As​ есть проблема​Ципихович Эндрю​ не изменится​Ципихович Эндрю​,​Workbook​Уважаю таких как​ Private Sub Workbook_BeforeClose(Cancel​ макрос с куайтом.​ документе напечатал текст​ Sub​ книги) при условии,​Юрий М​85Muslim85​
​ran​ это надо прописать​ Excel.Workbook Public Sub​а вот если​
​: запускаю с Ворда​Busine2009​: 11 строку удалил​так не надо​s​

​ ты.​​ As Boolean) Const​​ вот.​​ и, не сохраняя​
​sitcom​ если книга ещё​: У меня никаких​
​: все отлично)) спасибки…​:​ или вставить???​ ExitExcel() If Not​

​Закрыть форму с​​Dim oExcel As​
​:​
​12 строку​ писать — это​- это коллекция​
​А то бывают​ i = «Excel​
​Апострофф​ документ, переключился в​: непонятна строка​ не сохранена MsgBox​ пустых окон -​ вот чего я​
​85Muslim85​Marat​ wbItems Is Nothing​ сохранением изменений придётся​ Excel.Application Dim oWorkbook​
​Ципихович Эндрю​oExcel.Workbooks.CLOSE SaveChanges =​ для профессиональных программистов​
​ объектов Workbook. Попробуйте​ такие, им ответишь,​ закройся пожалуйста» MsgBox​: ThisWorkbook.Saved = True​ окно VBA и​If ActiveDocument.FullName Like​ есть, иначе нет.​ всё закрывается.​
​ хотел)​
​: добрый день, скажите​: Так куда все​
​ Then wbItems.Close SaveChanges:=False​ что-то предпринять​ As Excel.Workbook Dim​

​,​​ Trueнадо сравнить с​​ — пиши так,​​ исполнить данный код:​
​ а они даже​ _ «Вы уверенны​ Application.Quit?​ выполнил эту процедуру.​ »*» & strPath​

​Как такое условие​​Попробуйте так:​Workbooks.Application.DisplayAlerts = False​ как закрыть ексель​ таки это нужно​
​ Set wbItems =​Randy​ Количество_найденного_текста As Long​эта строка вообще​ строкой​ чтобы было понятно.​

​Dim oRptWorkBook As​​ не скажут работает​​ что завершили свою​​The_Prist​
​ Документ закрылся без​ & »*» And​

​ задать?​​Sub Workbook_BeforeClose(Cancel As​Excel.ActiveWorkbook.Save​ (полностью выйти) с​ прописать ?​ Nothing End If​:​
​ Set oExcel =​ не рабочая.​oRptWorkBook.Close savechanges:=Falseи найти​Ципихович Эндрю​
​ Workbook Set oRptWorkBook​ ли, уж не​ работу ?» &​: Sub CloseNotSave() Dim​ всяких вопросов.Да конечно,​ InStr(sName, »&») ThenВо-первых,​
​Юрий М​ Boolean)​

​Application.Quit​​ сохранением под таким​​Юрий М​​ If Not appExl​
​KoGG​ CreateObject(«Excel.Application») ‘создать объект​Ципихович Эндрю​
​ 10 отличий​: ‘экспорт найденного текста​
​ = Application.Workbooks.Add oRptWorkBook.Close​

​ говоря про ‘спасибо’Слушай,​​ vbCrLf & _​ wb As Workbook​ если запустить отдельно​
​ что Вы пытаетесь​: Попробуйте так:​
​Application.Run «ВосстановитьИнтерфейс»​
​openid.mail.ru/mail/vlad3622340​ же названием и​: Как куда -​

​ Is Nothing Then​​, огромное спасибо. Работает​​ Microsoft Excel oExcel.Workbooks.Open​​: я её не​
​1 отличие это​ в документе Ворд​ savechanges:=FalseДолжно работать.​ назрел еще один​ «может вы чтото​ For Each wb​

​ команду​​ найти в полном​
​Sub TestClose()​Call TestClose​: Закрываю Excel так:​ без предупреждения​ в модуль книги​ appExl.Quit Set appExl​ отлично!​ («L:Глаголы.xls») oExcel.Visible =​ с потолка взял,​ Фальше-Труе, пока не​ в Microsoft Excel​
​BR​ вопрос. Мне надо​ не сохранили ?»,​ In Workbooks wb.Saved​ActiveDocument.Close False -​ имени файла? Что​
​Application.Quit​

​End Sub​​ActiveWorkbook.Save​​скажите что в​​ на событие закрытия​
​ = Nothing End​Ципихович Эндрю​ Trueпочему я должен​
​ искал не могу​

CyberForum.ru

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

​ важно, так как​​ ‘подключаем библиотеку Tools​Ципихович Эндрю​ сохранить .xls в​ 64 If InputBox(«Напишите​ = True Next​
​ все работает нормально.​
​ значит »&»?​If MsgBox(«Сохранить данные»,​или непосредственно две​Application.Quit​ этом коде не​
​ книги.​ If End SubwbItems.Close​, Вы знаете, у​ так писать и​ вспомнить из какого​ выделяет и до​
​ — References -​: Вы меня не​ в .csv, но​

​ такие слова: «​​ Application.Quit End Sub​
​А тут событие​во-вторых, эта строка​ vbYesNo + vbQuestion,​

​ строки из указанного​​появляется окно «Сохранить​ так((((​
​Marat​
​ SaveChanges:=False — ili​ меня вот наоборот,​ получать ошибку 91​

​ места я её​​ этой строки ещё​​ Microsoft Excel 11.0​​ поняли:​ только с разделителями​
​ & i) =​​Farad​ на закрытие файла,​ у меня совершенно​ «Ваш выбор?») =​ макроса после Application.Run​ изменения в файле?»​
​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub вава()​: Sub zakrutie()​ prosto -​ когда я вношу​oWorkbook.Worksheets(«Лист1»).Range(«a1»).Font.Size = 14почему​ взял​ не дошёл​ Object Library или​я работаю в​

​ ‘,’, а не​​ i Then Shell​: ActiveWorkbook.Close False​ из кторого нужно​ справедливо вызывает​ vbNo Then​ «ВосстановитьИнтерфейс»​Как сделать, чтобы​Range(«A1») = 1​

​ActiveWindow.Close False​​wbItems.Close False -​​ в ТекстБоксы изменения​​ я не должен​попробовал сейчас в​2 отличие это​
​ Excel 12.0 Object​
​ Ворде, поэтому создаю​ ‘;’.Много информации перерыл,​ «taskkill /f /PID​Night Ranger​
​ выйти без сохранения.​ошибку 13(несоответствие типа​

CyberForum.ru

Как закрыть приложение Excel из VB без сохранения изменений?

​ActiveWorkbook.Close False​​Юрий М​ этот запрос не​Workbooks.Application.DisplayAlerts = False​End Sub​

​ eto to,chto tebe​​ в рабочем режиме​ так писать и​ макросе Экселя действительно​ то что в​ Library Dim oExcel​ объект​ нашел что можно​ » & GetCurrentProcessId​:​Дело в том​ данных) так как​Else​: Или (на кнопке)​ появлялся, а одним​Excel.ActiveWorkbook.SaveAs («rl.xlsm»)​Вставил отдельным модулем.​
​ nuzhno​ программы по команде​ не получать ошибку,​

CyberForum.ru

​ не работает, а​

Home / VBA / VBA Close Workbook (Excel File)

To close an Excel file, you need to use the “Close” method. With this method you can, specify if you want to save the changes or not. And, if you want to save and close a file that is not saved yet you can specify the path where you want to save it before closing.

The following is the syntax for the close method.

Workbook.Close (SaveChanges, FileName, RouteWorkbook)

Steps to Close a Workbook

  1. Specify the workbook that you want to close.
  2. Use the close method with that workbook.
  3. In the code method, specify if you want to save the file or not.
  4. In the end, mention the location path where you want to save the file before closing.

In this tutorial, we will look at different ways that you can use to close a workbook in Excel using VBA.

Helpful Links: Run a Macro – Macro Recorder – Visual Basic Editor – Personal Macro Workbook

Close a Workbook without Saving

If you want to save the active workbook without saving you need to use code like the following.

ActiveWorkbook.Close SaveChanges:=False

In this code, I have specified the “False” for the “SaveChanges” argument. So VBA will ignore if there are any changes in the workbook which are not saved. And if you want to close a specific workbook you can use the name of that workbook. Just like the following code.

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

If you have data in the workbook and you skip the “SaveChanges” argument, then Excel will show a dialog box to confirm if you want to save the workbook or not. The point is: It is better to specify the “SaveChanges” argument even if it’s optional.

Close a Workbook after Saving

As you have seen, there’s an argument in the CLOSE method to specify the path location. Let’s say if you wish to save the “Book6” to the folder on the desktop. Here’s the code that you need to use.

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

This code is going to save the workbook “Book6” into the folder that is saved on my desktop with the name “myFIle.xlsx”. But here’s one thing that you need to take care of: IF you already have a workbook with the same name then it will replace that file with the new one.

Don’t worry, there’s a solution that you can use. The following code checks if there’s any file exists with the name that you want to use

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

More on VBA Workbooks

VBA Save Workbook | VBA Delete Workbook | VBA ThisWorkbook | VBA Rename Workbook | VBA Activate Workbook | VBA Combine Workbook | VBA Protect Workbook (Unprotect) | VBA Check IF a Workbook is Open | VBA Open Workbook | VBA Check IF an Excel Workbook Exists in a Folder| VBA Create New Workbook (Excel File)

  • VBA Workbook

Понравилась статья? Поделить с друзьями:
  • При выполнения экспорта возникла неожиданная ошибка microsoft word
  • При выполнении работы в текстовом редакторе word
  • При выполнении команды экспорт в word выполняется
  • При выполнении команды экспорт в word автоматическое
  • При вызове excel диалоговое окно