Закрыть книгу не закрывая сам excel

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

#1

07.07.2015 14:07:19

Здравствуйте друзья.
Каким образом можно закрыть текущую книгу вместе с приложением.
Просто закрыть книгу можно так:

Код
ThisWorkbook.Close

Таким образом удобно закрывать когда открыто несколько книг. А вот если открыта всего одна книга, то при закрытии остаётся открытым само приложение Excel. И его ещё раз приходится закрывать. Как же можно закрыть книгу вместе с приложение, если она одна?
Спасибо.

Прикрепленные файлы

  • Закрыть.xlsm (12.87 КБ)

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#2

07.07.2015 14:10:04

?

Код
Application.Quit                  

Согласие есть продукт при полном непротивлении сторон.

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

Sanja

, спасибо. Тогда придётся делать проверку на количество открытых книг с таким способом закрытия, ибо если открыто их несколько, то он всё закрывает.

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#4

07.07.2015 14:16:50

Цитата
CAHO написал: Как же можно закрыть книгу вместе с приложение, ЕСЛИ ОНА ОДНА?
Цитата
ибо если открыто их НЕСКОЛЬКО, то он всё закрывает.

?

Изменено: Sanja07.07.2015 14:22:05

Согласие есть продукт при полном непротивлении сторон.

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

#5

07.07.2015 14:24:12

И как закрыть книгу в таком случае без сохранения?

Код
ThisWorkbook.Close (False)

с application это не проканало

Цитата
…или лыжи не едут…

вообще не понял при чём тут лыжи.

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#6

07.07.2015 14:32:13

CAHO, вроде не первую сотню сообщений на сайте. В стартовом топике стоял вопрос

Цитата
Как же можно закрыть книгу вместе с приложение, если она одна?

сообщение #2 отвечает на него. Про то

Цитата
И как закрыть книгу в таком случае без сохранения?
Код
With Application
    .DisplayAlerts = False
    .Quit
End With

Согласие есть продукт при полном непротивлении сторон.

 

CAHO

Пользователь

Сообщений: 2183
Регистрация: 25.02.2013

Sanja

, спасибо. Разобрался. В файле (оригинале другом) ошибка была сделана и поэтому #6 сообщение у меня не работало. Поэтому и переспросил как сохранить без возможности сохранения.

Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.

 

юнат

Пользователь

Сообщений: 22
Регистрация: 18.10.2022

#8

03.11.2022 14:29:44

Сенсеи подскажите чем можно излечить мою болячку?
Проблема в заполнении процессом EXCEL.EXE при каждом срабатывании скрипта в скаде.
Один раз скрипт отработал — один процесс EXCEL.EXE запустился, и т. д.
Вот такой код в скрипте, работа с екселем:

Код
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = False
objExcelApp.Workbooks.Open ""+path
Set objWorkSheet = objExcelApp.ActiveWorkbook.Worksheets(num_sheet)
Set objTag1= SmartTags(""+name_tag2)
objTag1.Value= objWorkSheet.Cells(num_row,num_colum).Value
objTag1.Write

objExcelApp.ActiveWorkbook.Save
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objTag1= Nothing

А может можно в конце макроса или другим макросом закрывать этот процесс вот здесь C:Program FilesMicrosoft OfficerootOffice16EXCEL.EXE?

Прикрепленные файлы

  • дисп зад.jpg (64.8 КБ)

 

МатросНаЗебре

Пользователь

Сообщений: 5516
Регистрация: 05.02.2014

#9

03.11.2022 14:42:02

А если эту строку убрать?

Код
objExcelApp.Workbooks.Close

Цитата
написал:
А может можно в конце макроса или другим макросом закрывать этот процесс

Вот так можно закрыть все процессы. При желании, если знаете ID, то можно и конкретный процесс убрать.

Код
Shell "TASKKILL /F /im excel.exe", 0
 

юнат

Пользователь

Сообщений: 22
Регистрация: 18.10.2022

#10

04.11.2022 10:04:16

МатросНаЗебре, спасибо,

objExcelApp.Workbooks.Close  — убрал, не помогло.

Shell, TASKKILL, KILL — скада не знает таких команд, ругается.

А вот как узнать ИД процесса и удалить его это может помочь, но для этого вопроса скорее всего нужна отдельная тема, я такую не нашёл.

Как закрыть Эксель, если не закрывается? Воспользуйтесь комбинацией Alt+F4, запустите «Диспетчер задач» и удалите процесс Excel, снимите задачу для приложения или просто перезагрузите компьютер / ноутбук (рекомендуется в крайнем случае). Ниже подробно рассмотрим, как действовать при возникновении подобных проблем, и какими методами можно закрыть программу.

Причины, почему не закрывается Excel

Существует множество причин, почему не закрывается Эксель, как и в случае с другими программами. К основным объяснениям можно отнести:

  1. Ошибка в программном коде.
  2. Конфликты с другими ПО.
  3. Загрязненная операционная система.
  4. Применение не подходящей версии Виндовс.
  5. Сбои работы жесткого диска.
  6. Дефицит оперативной памяти.
  7. Действие вирусов.
  8. Прочие причины.

Что делать

При возникновении зависания нужно сначала разобраться, как закрыть программу, если при нажатии на «крестик» Эксель не закрывается. Рассмотрим основные варианты.

Используйте горячие клавиши

Первое, что стоит сделать при возникновении подобных проблем — попробовать закрыть приложение с помощью комбинации горячих кнопок. Чаще всего работает Alt+F4. В ее задачи входит принудительное прекращение работы процесса.

Закройте приложение через специальную панель

Если рассмотренный метод не помогает, можно использовать еще один метод, как закрыть Эксель — сделать это с помощью вызова специальной панели. Для этого жмите на Ctrr+Alt+Del, после чего войдите в «Диспетчер задач» и во вкладку «Процессы». Здесь найдите нужный вариант с названием Excel, жмите правой кнопкой мышки и кликните «Снять задачу». Как вариант, можно зайти в раздел «Служба приложений» и отключить нужный софт там.

Специальная программа

Бывают ситуации, когда не закрывается файл Эксель из-за отсутствия процесса в списке. В таком случае может потребоваться специальная программа — Process Exprorer. Она не требует установки. Достаточно скачать ее с официального сайта docs.microsoft.com/ru-ru/previous-versions/bb896653(v=msdn.10)?redirectedfrom=MSDN, запустить и найти нужный процесс.  В отличие от «Диспетчера задач» здесь отображаются все процессы. Найдите интересующий, кликните на него правой кнопкой мышки и выберите кнопку удаления.

Альтернативный вариант

Крайний метод, что делать, если не закрывается Эксель при выполнении всех рассмотренных выше шагов — принудительно перезапустить компьютер / ноутбук. После запуска программа будет закрыта, и ее можно будет снова запустить. При этом сохраняется риск сбоев во время работы, поэтому нужно определить причину.

Что еще сделать после закрытия / во время работы

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

Убедитесь, что Эксель не пользуется другим процессом

В ситуации, когда Excel занята другим процессом, эти данные будут отображаться в нижней части окна. Если параллельно какие-то приложения пытаются выполнить действия, Эксель не будет отвечать, и закрыть его не получится. В таком случае дождитесь, пока задание выполниться, после чего сделайте еще одну попытку.

Проверьте систему на вирусы

Если Excel не закрывается, проверьте ПК / ноутбук на вирусы. Проблемы с прекращением работы могут возникнуть на фоне действия вредоносного ПО. В случае его удаления можно попробовать закрыть контент, и это происходит без проблем.

Решение проблем с надстройками

Применение надстроек упрощает работу с Эксель, но параллельно могут возникать конфликты. Попробуйте запустить приложение без надстроек и проверьте, удастся ли закрыть приложение. При работе в Виндовс 10 кликните на Win+R, а после — Excel / safe. Далее жмите «ОК». Если проблему удалось устранить, кликните на «Файл», а далее «Параметры» и «Надстройки».

Выберите «Надстройки СОМ» и жмите на кнопку «Перейти». После очистки флажков жмите «ОК». После откройте и попробуйте закрыть Эксель. Если он все равно не закрывается, причина может быть в другом.

Убедитесь, что файл не создается другим приложением. В таком случае некоторые функции Excel могут работать некорректно.

Дополнительные советы

Жалобы, мол, не могу закрыть Эксель, часто встречаются в Интернете. Пользователи не могут разобраться с зависанием и часто решают вопрос кардинально и путем отключения ПК / ноутбука. Но в большинстве случаев проблему можно решить более простым путем:

  1. Убедитесь, что софт не закрывается именно из-за внутренних проблем. Бывают ситуации, что неисправность именно в компьютере. Распространенная ситуация, когда закрыть Эксель не удается из-за дефицита оперативной памяти или сбоях в работе процессора. В таком случае нужно попробовать закрыть другое «тяжелое» ПО и повторить попытку.
  2. Переустановите программу. Если с Excel регулярно возникают проблемы, возможно, он установился некорректно и требует перестановки. Попробуйте удалить и установить заново программу.
  3. Обновите Excel, если он регулярно не закрывается, до последней версии.
  4. Убедитесь, что версия и разрядность Виндовс соответствуют требованиям.
  5. Выждите время. Многие пользователи слишком торопятся и хотят, чтобы ПО закрывалось мгновенно. Но иногда программа немного зависает. Нужно просто подождать и закрыть ее через несколько минут.

Зная, как закрыть Эксель, и почему он не закрывается, вы сможете решить проблему с программой и исключить ее появление в будущем. Для начала перепробуйте приведенные выше методы, а перезапуск / выключение оставьте на крайний случай. Это связано с тем, что при грубой перезагрузки многая информация может быть утеряна. Также не забывайте сохраняться перед попыткой закрытия, чтобы не допустить потери важных файлов.

В комментариях расскажите, какой из приведенных советов вам действительно помог, и какие еще шаги можно реализовать для решения ситуации.

Отличного Вам дня!

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Еще…Меньше

Если на компьютере запущен один экземпляр Excel, все открытые книги открываются в окне книги в Excel окна. Вы также можете создать новые окна книги для любого лист в книге с помощью команды « Создать окно» ( вкладка «Вид», группа «Окно «).

Дополнительные сведения см. в разделе «Просмотр двух или более листов одновременно «.

Вы можете закрыть каждое из этих окон книги по одному или закрыть всю книгу (включая все ее окна книги). Чтобы закрыть все открытые книги, можно закрыть окно Excel или выйти из Excel.

  1. Щелкните окно книги, которое нужно закрыть.

  2. Щелкните Excel кнопка "Закрыть"в правом верхнем углу окна книги.

Примечание: Если окно является единственным открытым окном книги, вся книга закрывается. Если в одной книге больше окон, закрывается только активное окно книги.

  1. Активируйте книгу, которую нужно закрыть.

  2. На вкладке « Файл» нажмите кнопку «Закрыть».

Выполните одно из указанных ниже действий.

  • В правом верхнем углу окна Excel нажмите кнопку «Закрыть Изображение кнопки«.

  • На вкладке « Файл» нажмите кнопку «Выйти».

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Нужна дополнительная помощь?

How to close an Excel workbook using VBA and macros, including how to save the file before you close it or discard any changes.

Sections:

Selecting Which Workbook to Close

Close Workbook While Saving Changes

Close Workbook Without Saving Changes

Let the User Decide to Save Changes or Not

Notes

Selecting Which Workbook to Close

First, we need to tell the macro to choose the current workbook to close or another workbook to close.

Current Workbook

We use this piece of code to close the current or currently active workbook and close that.

Other Workbook

We use this piece of code to close any specific open workbook.

Workbooks("test.xlsx").Close

Replace test.xlsx with the name of the file that you want to close.

Close Workbook While Saving Changes

To have Excel automatically save any changes for the workbook that you want to close, just put True behind the close workbook code from above like this:

ActiveWorkbook.Close True

or, to close a specific file like this:

Workbooks("test.xlsx").Close True

Close Workbook Without Saving Changes

To have an Excel window close WITHOUT saving any changes, just put False behind the close workbook code from above like this:

ActiveWorkbook.Close False

or, to close a specific file like this:

Workbooks("test.xlsx").Close False

Let the User Decide to Save Changes or Not

You use the basic code from the first section and don’t include a True or False after it and a dialog box will open asking if you want to save the file or not; it looks like this:

Close the currently active or visible workbook:

Close a specific workbook:

Workbooks("test.xlsx").Close

Notes

You may run into issues with messages popping up depending on your implementation of this code and your setup and it can help to turn off ScreenUpdating for Excel. Make sure to turn it back on when you are finished though.

If Application.DisplayAlerts is set to False before you close the workbook, you won’t see a popup asking if you want to save it or not before closing it. If this is the case, you may lose data if you wanted to save the file before closing it, so test your code on a sample workbook first.

Download the sample files for this tutorial to test everything out.

Similar Content on TeachExcel

Open Excel Workbook Using VBA Macros

Tutorial:
Simple way to open an Excel workbook using VBA and macros.

Syntax

Workbooks.Open («File…

Macro to get Data from Another Workbook in Excel

Tutorial:
Macro to get data from a workbook, closed or open, over a network or locally on your comp…

Get User Submitted Data from a Prompt in Excel using VBA Macros

Tutorial: How to prompt a user for their input in Excel.
There is a simple way to do this using VBA …

Interactive Clickable Buttons and Interface Without Using VBA/Macros in Excel

Tutorial:
How to make your Excel dashboards and worksheets more interactive and easier to view and …

Loop through a Range of Cells in Excel VBA/Macros

Tutorial: How to use VBA/Macros to iterate through each cell in a range, either a row, a column, or …

Kill Command in Excel (Delete Files Using VBA)

Tutorial:
How to safely remove, delete, kill any Excel file, or other file, using VBA Macros in Exc…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Еще один вопрос по теме: Работа с несколькими книгами в Excel 2013

Функциональность Excel 2013, при которой закрытие книги закрывает все окно Excel 2013, довольно раздражает. Закрытие окна полностью использовалось, чтобы быть в состоянии, нажав на X этого окна. Если кто-то хочет закрыть только рабочую книгу, можно щелкнуть X окна конкретной рабочей книги. Теперь выбора больше нет.

Причины, по которым меня это раздражает:

  1. У меня часто два или более окон Excel открываются на двух отдельных (физических) экранах. Если бы я хотел закрыть рабочую книгу на одном из экранов и немедленно открыть новую рабочую книгу, я бы просто закрыл рабочую книгу. Окно Excel останется, и я сразу смогу открыть новую книгу.

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

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

  1. В предыдущих версиях Excel последнее открытое или сохраненное местоположение сохранялось для каждого окна. В новом Excel 2013 последнее открытое или сохраненное местоположение любой открытой рабочей книги — это местоположение, которое отображается при нажатии кнопки открытой рабочей книги. Поэтому нужно постоянно перемещаться по папкам, если у вас есть несколько мест, где хранятся файлы.

Кто-нибудь нашел решение для этого?

Понравилась статья? Поделить с друзьями:
  • Закрыть книгу excel клавиши
  • Закрыть книгу excel vba если она открыта
  • Закрыть документ word горячие клавиши
  • Закрыть все формы vba excel
  • Закрыть все файлы excel с сохранением