Excel не закрывается в процессах
Я не могу закрыть свой процесс EXCEL (32) после того, как закончу его использовать.
Как вы можете видеть в коде ниже, как только ProcessRFAFData функция завершает свое выполнение, процесс EXCEL не закрывается (я все еще вижу EXCEL.EXE*32 в диспетчере задач).
По этой причине, когда SaveErrors начинается его выполнение, я получаю следующее исключение:
Вот код, который выполняет процессы Excel:
Вот все функции, взаимодействующие с Excel:
Возможно, вам придется сделать смехотворно явным :
Я сталкивался с ситуациями, когда даже это не помогло. Я прибегнул к поиску процесса Excel и вызвал для него Kill().
Это правильный способ освободить Excel и позволить Excel закрыться. Единственное, чего здесь не хватает, так это того, что если вы редактируете ячейки в рабочей книге через основное взаимодействие, вам также необходимо выполнить Marshal.ReleaseComObject для каждой ячейки, к которой вы обращаетесь, а затем обнулить ее. Это верно для любой переменной, которую вы создаете, а затем назначаете объект Excel своей переменной. В том числе для каждого R как диапазона в ListObject.Rows. R должен быть выпущен через маршалинг, а затем обнулен, прежде чем вы перейдете к следующему элементу. По сути, если вы не выпустили все, к чему прикоснулись, Excel останется открытым.
Обратите внимание на цикл, который я имел в виду, For Each R as Range In ListObject.Rows — это всего лишь один пример. Это все довольно сложно. У меня были некоторые из тех же проблем с использованием Primary Interop для создания утилиты, которая позволяет кому-то создавать и применять стили в книге, а затем синхронизировать эти стили с другими книгами. Грубый.
Освободите свои объекты Excel в блоке finally на случай исключений.
Второе предложение: если вы абсолютно ДОЛЖНЫ закрыть Excel
Вы можете использовать эти 2 метода, чтобы отслеживать, какие экземпляры Excel запущены при запуске, а затем находить любые экземпляры Excel, открытые вашим приложением, и затем уничтожать их. Это, конечно, не лучшее решение, но иногда вам просто нужно стиснуть зубы.
Если вам не нужны предыдущие экземпляры, вы также можете просто сделать:
Я бы рассмотрел возможность использования EPPlus от Code Plex.
В этом примере показано, как читать данные. Вам всегда лучше на сервере, идущем по этому маршруту - проблема только в том, что если вам нужны формулы вызова - тогда этот подход не будет работать.
Большая часть вашего кода будет очень похожа на ваш текущий код, поэтому я бы оценил несколько часов для перехода на эту библиотеку.
В моем случае надстройка Excel находилась в отдельном AppDomain, который я создал ранее, но когда надстройка была выгружена, я никогда не вызывал:
После вызова процесса Excel Zombie больше не было.
В дополнение к вышеперечисленным решениям и вот мое ЛОГИЧЕСКОЕ решение. Я думал, почему у меня так много приложений EXCEL.EXE, и я обрабатываю их таким образом. Здесь я проверяю условия при создании нового приложения Excel. если (_masterApp == null) _masterApp = new EXCEL.Application(); Создавайте новые экземпляры приложения Excel только в том случае, если переменная, которую вы хотите создать, имеет значение Null, в противном случае переназначьте существующую переменную.
и Используйте решения, упомянутые в этом блоге, чтобы ЗАКРЫТЬ файл _masterApp.
Преимущества: таким образом вы закроете только приложение EXCEL, которое вы открыли с помощью Solution, а не закроете приложение Excel, открытое вручную.
Посмотрите на эту ссылку
Спасибо KD7 за решение.
Одно небольшое изменение заключается в том, что если ваше приложение excelapp не отображается, заголовок главного окна будет пустым. например. ""
и убить все фоновые процессы excel-зомби.
Это доставило мне массу неприятностей в решении, поэтому я буду публиковать его в каждом потоке процесса excel-зомби.
Как закрыть Эксель, если не закрывается? Воспользуйтесь комбинацией Alt+F4, запустите «Диспетчер задач» и удалите процесс Excel, снимите задачу для приложения или просто перезагрузите компьютер / ноутбук (рекомендуется в крайнем случае). Ниже подробно рассмотрим, как действовать при возникновении подобных проблем, и какими методами можно закрыть программу.
Причины, почему не закрывается Excel
Существует множество причин, почему не закрывается Эксель, как и в случае с другими программами. К основным объяснениям можно отнести:
- Ошибка в программном коде.
- Конфликты с другими ПО.
- Загрязненная операционная система.
- Применение не подходящей версии Виндовс.
- Сбои работы жесткого диска.
- Дефицит оперативной памяти.
- Действие вирусов.
- Прочие причины.
Что делать
При возникновении зависания нужно сначала разобраться, как закрыть программу, если при нажатии на «крестик» Эксель не закрывается. Рассмотрим основные варианты.
Используйте горячие клавиши
Первое, что стоит сделать при возникновении подобных проблем — попробовать закрыть приложение с помощью комбинации горячих кнопок. Чаще всего работает Alt+F4. В ее задачи входит принудительное прекращение работы процесса.
Закройте приложение через специальную панель
Если рассмотренный метод не помогает, можно использовать еще один метод, как закрыть Эксель — сделать это с помощью вызова специальной панели. Для этого жмите на Ctrr+Alt+Del, после чего войдите в «Диспетчер задач» и во вкладку «Процессы». Здесь найдите нужный вариант с названием Excel, жмите правой кнопкой мышки и кликните «Снять задачу». Как вариант, можно зайти в раздел «Служба приложений» и отключить нужный софт там.
Специальная программа
Альтернативный вариант
Крайний метод, что делать, если не закрывается Эксель при выполнении всех рассмотренных выше шагов — принудительно перезапустить компьютер / ноутбук. После запуска программа будет закрыта, и ее можно будет снова запустить. При этом сохраняется риск сбоев во время работы, поэтому нужно определить причину.
Что еще сделать после закрытия / во время работы
Ситуация, когда не закрываются файлы Excel, нужно разобраться с дальнейшими шагами. Важно выявить причину и избежать подобных ситуаций в будущем. Сделайте следующие шаги.
Убедитесь, что Эксель не пользуется другим процессом
В ситуации, когда Excel занята другим процессом, эти данные будут отображаться в нижней части окна. Если параллельно какие-то приложения пытаются выполнить действия, Эксель не будет отвечать, и закрыть его не получится. В таком случае дождитесь, пока задание выполниться, после чего сделайте еще одну попытку.
Проверьте систему на вирусы
Если Excel не закрывается, проверьте ПК / ноутбук на вирусы. Проблемы с прекращением работы могут возникнуть на фоне действия вредоносного ПО. В случае его удаления можно попробовать закрыть контент, и это происходит без проблем.
Решение проблем с надстройками
Применение надстроек упрощает работу с Эксель, но параллельно могут возникать конфликты. Попробуйте запустить приложение без надстроек и проверьте, удастся ли закрыть приложение. При работе в Виндовс 10 кликните на Win+R, а после — Excel / safe. Далее жмите «ОК». Если проблему удалось устранить, кликните на «Файл», а далее «Параметры» и «Надстройки».
Выберите «Надстройки СОМ» и жмите на кнопку «Перейти». После очистки флажков жмите «ОК». После откройте и попробуйте закрыть Эксель. Если он все равно не закрывается, причина может быть в другом.
Убедитесь, что файл не создается другим приложением. В таком случае некоторые функции Excel могут работать некорректно.
Дополнительные советы
Жалобы, мол, не могу закрыть Эксель, часто встречаются в Интернете. Пользователи не могут разобраться с зависанием и часто решают вопрос кардинально и путем отключения ПК / ноутбука. Но в большинстве случаев проблему можно решить более простым путем:
- Убедитесь, что софт не закрывается именно из-за внутренних проблем. Бывают ситуации, что неисправность именно в компьютере. Распространенная ситуация, когда закрыть Эксель не удается из-за дефицита оперативной памяти или сбоях в работе процессора. В таком случае нужно попробовать закрыть другое «тяжелое» ПО и повторить попытку.
- Переустановите программу. Если с Excel регулярно возникают проблемы, возможно, он установился некорректно и требует перестановки. Попробуйте удалить и установить заново программу.
- Обновите Excel, если он регулярно не закрывается, до последней версии.
- Убедитесь, что версия и разрядность Виндовс соответствуют требованиям.
- Выждите время. Многие пользователи слишком торопятся и хотят, чтобы ПО закрывалось мгновенно. Но иногда программа немного зависает. Нужно просто подождать и закрыть ее через несколько минут.
Зная, как закрыть Эксель, и почему он не закрывается, вы сможете решить проблему с программой и исключить ее появление в будущем. Для начала перепробуйте приведенные выше методы, а перезапуск / выключение оставьте на крайний случай. Это связано с тем, что при грубой перезагрузки многая информация может быть утеряна. Также не забывайте сохраняться перед попыткой закрытия, чтобы не допустить потери важных файлов.
В комментариях расскажите, какой из приведенных советов вам действительно помог, и какие еще шаги можно реализовать для решения ситуации.
Эксель не отвечает — что делать? Запустите программу в безопасном режиме, обновите приложение до последней версии, закройте ненужные процессы, устраните проблемы с надстройками, удалите конфликтующие программы или восстановите Офис. Ниже рассмотрим, по каким причинам возможны подобные сбои, как их устранить, и каким образом сохранить файл в случае зависания.
Причины и пути решения
Сразу разберемся, почему Эксель зачастую не отвечает, и не дает выполнять поставленные задачи. Причины могут быть в следующем:
- Сбои в работе приложения.
- Конфликтующие программы.
- Устаревшая версия.
- Использование Excel другим процессом.
- Проблемы с надстройками.
- Действие антивирусной системы.
- Создание документа третьей стороной.
- Ошибка в выборе принтера.
Понимание возможных причин, почему файл Эксель не отвечает, можно принимать шаги по устранению неисправности. Ниже рассмотрим, что делать в первую очередь.
Запустите Excel в безопасном режиме
Первый шаг, что делать при сбое работы программы — попробовать запустить ее в безопасном режиме. Алгоритм действий такой:
- Кликните на «Пуск».
- Войдите в «Служебные Windows» и «Выполнить».
- Введите в командной сроке фразу excel.exe / safe.
- Убедитесь, что проблему удалось решить. Если нет, переходите к следующему шагу.
Если проблему удалось устранить, сделайте следующее:
- Зайдите в «Файл».
- Жмите «Параметры».
- Перейдите в «Надстройки».
- Кликните на «Надстройки СОМ» и «Перейти».
- Удалите все флажки в перечне и жмите «ОК».
- Закройте Excel и снова запустите софт.
Как вариант, убирайте надстройки по одной, чтобы понять, из-за какой из них Excel не отвечает. После каждого такого сохранения заново перезапускайте приложение.
Установите последнее обновление
Следующий шаг, что делать, если файл Эксель не отвечает — попробовать обновить софт до последней версии. Установка важных обновлений часто помогает устранить возникшие проблемы и устранить уязвимости.
Для решения вопроса нужно делать следующее:
- Откройте приложение Эксель на ПК / ноутбуке.
- Зайдите в раздел «Файл», а после «Учетная запись».
- Отыщите секцию «Информация о продукте».
- Кликните на «Параметры обновления».
- Жмите «Обновить сейчас».
Для более старых версий (Эксель 2010) необходимо перейти в «Файл», а далее «Справка» и «Проверить наличие обновлений». Далее установите новые версии и перезагрузите ПО.
Убедитесь, что приложение не используется сторонним процессом
Хороший способ, как сохранить информацию, когда Эксель не отвечает — подождать выполнения стороннего процесса. Если таковой имеется, этот факт отображается в строке состояния. Если в это время попытаться сделать какие-то другие шаги, Excel зависает. Единственным правильным решением в таком случае будет ожидание завершения процесса или его принудительное закрытие.
Поменяйте принтер по умолчанию
Проверенный метод, что делать, если Excel не отвечает — поменять принтер, установленный по умолчанию. Рекомендация связана с тем, что в момент включения оборудование проверяет возможность работы с принтером. Если нет связи, возможно появление проблемы. Рассмотрим, что делать в таком случае:
- Жмите «Панель управления».
- Кликните на «Принтеры и устройства».
- Кликните правой кнопкой мышки на Microsoft XPS Document Writer.
- Установите его по умолчанию.
- Еще раз попробуйте открыть Офис.
Обратите внимание на файлы и содержимое
Еще один путь, что делать, если Эксель не отвечает — проверить файлы и их содержимое. В процессе пользования приложением они обновляются, сохраняются от других пользователей и т. д. При этом возникают проблемы с производительностью, имеющие следующие причины:
- Множество скрытых объектов.
- Наличие формул массива, которые ссылаются на неравные числа.
- Ссылка формул на столбцы.
- Множество неправильных имен.
- Избыточные стили, что обусловлено множеством копированием, в том числе в книгу Excel.
Попробуйте отремонтировать Эксель или переустановить его
Один из способов, что делать, если завис Excel, и как не потерять данные — попробуйте восстановить программу. Для этого пройдите следующие шаги:
- Кликните правой кнопкой мышки на «Пуск».
- Перейдите в раздел «Приложения и возможности».
- Найдите в списке Майкрософт Офис.
- Жмите «Изменить».
- Выберите кнопку восстановления.
Учтите, что такой метод рассчитан на восстановления всего набора приложений, а не только Excel.
Как вариант, можно полностью удалить приложение и установить его снова. Для этого на 4-м пункте выберите раздел «Удалить», а после загрузите новую версию с официального сайта.
Убедитесь, что документ не создается сторонним приложением
Если Эксель не отвечает, причиной может быть создание документа 3-ей стороной. Как результат, он может создаваться неправильно. Для устранения проблемы необходимо делать проверку функции в новых файлах вне сторонней программы. Если они работают правильно, убедитесь, что 3-я сторона знает о такой неисправности.
Проверьте, что Excel не открылся дважды
При открытии документа мы часто дважды нажимаем мышкой, а иногда и больше в надежде более быстрой загрузки. Но нужно учесть, что на загрузку должно идти какое-то время. В ином случае параллельно открывается много одинаковых программ, а Эксель зависает и не отвечает. Постарайтесь не делать таких ошибок, а в случае открытия нескольких документов закройте программу, а потом один раз откройте ее.
Обновите антивирус или отключите его
При наличии на ПК / ноутбуке антивирусного ПО именно оно может привести к зависанию и тому, что софт не отвечает. Для решения проблемы обновите антивирусное ПО до последней версии или попробуйте временно его отключить. Последнюю рекомендацию желательно делать не только при наличии проблем с Excel, но и в случаях других сбоев программ.
Удаление конфликтующего ПО
Пользователи часто устанавливают много программа на компьютер / ноутбук, которые могут не использоваться, но при этом вызывают сбои в работе Эксель. Рассмотрим, что делать в таком случае:
- Войдите в «Выполнить» (Win+R).
- Введите msconfig.
- Кликните на «Ввод» для открытия диалогового окна для входа в «Конфигурацию системы».
- Снимите отметку напротив каждой лишней программы / службы.
- Жмите «ОК» и перезапустите софт.
Как сохранить файл
Актуальный вопрос пользователей — что делать, и как сохранить файл, если Эксель не отвечает. Для этого рекомендуется делать следующие шаги:
- Устраните проблему и запустите программу.
- С левой стороны обратите внимание на появление подраздела, позволяющего восстановить файл.
- Жмите левой кнопкой мышки на версию автоматически сохраненного файла, который нужно вернуть.
- Теперь сохраните документ Эксель в обычном режиме, чтобы его не потерять.
Зная, почему Excel не отвечает, и как сохранить файл, вы можете спокойно пользоваться ПО и не переживать за его возможные сбои при работе.
В комментариях поделитесь, какой из приведенных методов вам подошел, и что еще можно сделать, если Эксель не отвечает.
В этой статье рассмотрены действия по устранению неполадок, которые помогут устранить наиболее распространенные проблемы, когда вы получаете ошибку Excel не отвечаете, Excel зависает или зависает при запуске или Excel книге. Такие проблемы могут возникать по одной или нескольким из перечисленных ниже причин.
Используйте решения, приведенные в этой статье, в указанном порядке. Если вы уже пробовали один из этих методов, но он не помог, перейдите к следующему решению в списке.
Примечание: При возникновении проблем с открытием файлов Excel после обновления Windows 7 до Windows 10 см. статью Ошибки при открытии файлов Office после перехода с Windows 7 на Windows 10.
Запуск Excel в безопасном режиме
Сейф режиме можно запускать Excel запуска, не сталкиваясь с определенными программами запуска. Вы можете открыть Excel в безопасном режиме, нажав и удерживая нажатой CTRL во время запуска программы, или с помощью переключателя /safe (excel.exe /safe) при запуске программы из командной строки. При запуске Excel в безопасном режиме она обходить такие функции и параметры, как альтернативное расположение запуска, измененные панели инструментов, папка xlstart и Excel надстройки. Однако надстройки COM исключаются.
Если проблема устранена после запуска Excel в безопасном режиме, см. в этой Excel.
Если проблема не устранена после запуска Excel в безопасном режиме, переначните к следующему элементу в этом списке.
Установка последних обновлений
Возможно, вам потребуется настроить Windows обновления для автоматической загрузки и установки рекомендуемых обновлений. Установка важных рекомендаций и оптимальных обновлений часто может устранить проблемы, заменив их и исправив уязвимости. Чтобы установить последние Office обновлений, выполните действия, которые можно найти в статье Обновление Office и компьютера.
Если установка последних обновлений для Office не решила проблему, перейдите к следующему пункту списка.
Проверка того, что Excel не используется другим процессом
Если Excel используется другим процессом, эти сведения будут отображаться в строке состояния в нижней части Excel окна. Если в это время попытаться выполнить другие действия, Excel может не отвечать. Подождите, пока задание выполнится, прежде чем начинать другие действия.
Если Excel не используется другим процессом, перейдите к следующему пункту в списке.
Выявление возможных проблем с надстройками
Хотя надстройки могут улучшить ваш опыт, они могут периодически мешать работе или конфликтовть с Excel. Попробуйте запустить Excel без надстроек, чтобы проверить, не решится ли проблема.
Выполните одно из указанных ниже действий.
Если вы работаете в Windows 10, выберите Начните > Все приложения > Windows Система > Выполнить > введите Excel /safe в поле Выполнить, а затем нажмите кнопку ОК.
Если вы запущены Windows 8, в меню Приложения > введите Excel /safe в поле Выполнить, а затем нажмите кнопку ОК.
Если вы работаете Windows 7, нажмите кнопку Начните > введите Excel /safe в поиске программ и файлов,а затем нажмите кнопку ОК.
Если проблема устранена, щелкните Файл > Параметры > Надстройки.
Выберите Надстройки COM и нажмите кнопку Перейти.
С очистки всех флажков в списке нажмите кнопку ОК.
Закройте приложение Excel и снова запустите его.
Если проблема не возникает при перезапуске Excel, включите надстройки по одной, пока она не будет возникать. Это позволит понять, какая надстройка вызывает проблему. Перезапускайте Excel после включения каждой надстройки.
Если отключение надстроек не решило проблему, перейдите к следующему пункту в списке.
Изучение Excel файлов и их содержимого
Excel файлы могут существовать на компьютере в течение долгого времени. Они обновляются с версии на версию и часто перенабьются от одного пользователя к другому. Часто пользователь наследует файл Excel, но не знает, что входит в него. Проблемы с производительностью или сбоем могут быть причиной следующих причин:
Формулы, ссылаясь на столбцы.
Формулы массива, ссылающие на неравные числа элементов аргументов.
Сотни, или, возможно, тысячи скрытых или 0 объектов высоты и ширины.
Избыточные стили, вызванные частым копированием и копированием в книгу.
Слишком много и недопустимых имен.
Если эти действия не устраняют проблему, пере продолжите работу с следующим элементом в списке.
Проверка того, создается ли файл третьей стороной
Иногда Excel файлы создаются сторонним приложением. В этом случае файлы могут быть созданы неправильно, а некоторые функции могут работать неправильно при их Excel. В этом случае проверьте функции в новых файлах за пределами стороннего приложения. Если функции работают правильно, убедитесь, что третьей стороне известно об этой проблеме.
Если проблема не устранена после проверки за пределами стороннего приложения, пере продолжите работу с следующим элементом в списке.
Выборочный запуск, чтобы определить, конфликтуют ли программы, процессы или службы с Excel
При Windows запуска несколько приложений и служб запускаются автоматически, а затем запускаются в фоновом режиме. Такие приложения и службы могут мешать другому программному обеспечению на компьютере. Выборочная загрузка (также называется "чистой загрузкой") поможет выявить проблемы с конфликтующие приложениями. Чтобы выполнить выборочное запуск, в зависимости от версии Windows выберите одну из следующих ссылок, а затем выполните действия, следующие в статье:
Windows 10, Windows 7, Windows 8: выборочный запуск с помощью system ConfigurationWindows Vista: выборочный запуск с помощью system
ConfigurationWindows XP: создание и настройка учетных записей пользователей в
Windows XP
Выборочная загрузка помогает выявить процесс, службу или приложение, которые конфликтуют с Excel.
Если после повторного создания профиля ваша проблема не устранена, пере продолжите работу с следующим элементом в списке.
Восстановление программ Office
Если Excel перестает отвечать на запросы или прекращает работать, восстановление программ Office может устранить проблемы за счет автоматического исправления ошибок в файлах Office. Инструкции по восстановлению см. в этой Office приложении.
Если восстановление программ Office не решило проблему, перейдите к следующему пункту в списке.
Проверка актуальности версии антивирусной программы и наличия конфликтов с Excel
Если антивирусная программа не обновлена, Excel может работать неправильно.
Проверка актуальности антивирусной программы
Для защиты от новых вирусов поставщики антивирусных программ периодически выпускают обновления, которые можно скачать из Интернета. Скачайте последние обновления, посетив сайт поставщика своей антивирусной программы.
Проверьте, не конфликтует ли антивирусная программа с Excel:
Если антивирусная программа поддерживает интеграцию с Excel, вы можете столкнуться с проблемами производительности. В таком случае можно отключить интеграцию Excel с антивирусной программой. Вы также можете отключить все надстройки антивирусной программы, установленные в Excel.
Важно: Изменение параметров антивирусной программы может привести к уязвимости компьютера для вирусных, мошеннических или вредоносных атак. Корпорация Майкрософт не рекомендует изменять параметры антивирусной программы. Используйте это решение на свой страх и риск.
Возможно, вам придется обратиться к поставщику антивирусной программы, чтобы узнать, как настроить ее таким образом, чтобы исключить интеграцию с Excel или сканирование в Excel.
Дополнительные сведения
Дополнительные возможности по устранению неполадок
Если упомянутые выше методы не уладили проблему, проблема может быть как в файле, так и в среде. В следующем разделе описано, как устранить дополнительную проблему, которая может привести Excel зависать или аварийно сбой.
Факторы, влияющие на среду
Факторы, влияющие на среду, так же важны, как содержимое файла, и надстройки при устранении сбоя. Чтобы определить причину проблемы, с помощью следующих действий:
Выполните основные действия по устранению неполадок.
Проверьте файлы в максимально чистой среде.
В следующих разделах описаны некоторые области, которые стоит и далее и далее.
Место хранения файла
При перемещении файла на локальном уровне вы сможете определить, что с файлом что-то не так или с файлом, а также с местом его с ним. При Excel файла в сети или на веб-сервере может возникнуть ряд проблем. Сохраните файл локально. Это необходимо сделать в следующих сценариях:
• Перенаправленная папка "Мои документы" на сервер
• Открытие файлов из веб-папки или SharePoint
• Удаленный рабочий стол/Citrix
• Виртуализированная среда. Дополнительные сведения о программном обеспечении Майкрософт, которое работает в виртуализированной среде, см. в следующей статье: Политика поддержки программного обеспечения Корпорации Майкрософт, запущенного в программном обеспечении для виртуализации оборудования, не от корпорации Майкрософт.
Excel файлы могут стать довольно большими при добавлении большого количества форматирования и фигур. Убедитесь, что в вашей системе достаточно ОЗУ для запуска приложения. Требования к системе для Microsoft Office приложений можно найти в следующих статьях Майкрософт:
Office 2010 в 2010 г. были представлены 64-битные версии Office, чтобы использовать более крупные вычислительные мощности. Чтобы узнать больше о 64-битных выпусках Office, перейдите к следующим статьям Майкрософт:
Принтеры и драйверы видео
При запуске Excel проверяется драйверы принтера и видео по умолчанию, которые будут отображать Excel книги. Excel является интенсивной печатью, и она будет работать медленнее, Excel файлы сохраняются в страничный режим. Проверка файла с помощью различных принтеров, таких как драйвер принтера "Автор документов Microsoft XPS" или видеока драйвера VGA, определяет, есть ли проблема с определенным принтером или видео драйвером.
Если у вас по-прежнему возникли проблемы с Excel после устранения указанных здесь методов, обратитесь в службу поддержки Майкрософт за помощью в устранении неполадок.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
У меня есть следующий код под кнопкой. При нажатии он просто закрывает текущий лист Excel, но не все приложение Excel.
Примечание: у меня нет других открытых листов.
Следующее окно все еще появляется.
У меня была эта проблема, и я решил ее, добавив Workbook_BeforeClose() :
Это более чем вероятный ответ, потому что похоже, что у вас есть диалог, который не обрабатывается и, следовательно, предотвращает выход приложения. Это предотвратит появление диалогового окна сохранения во время закрытия книги.
убрать Application.DisplayAlerts = True из распорядка.
из справки по Application.Quit Method :
If unsaved workbooks are open when you use this method, Microsoft Excel displays a dialog box asking whether you want to save the changes. You can prevent this by saving all workbooks before using the Quit method or by setting the DisplayAlerts property to False. When this property is False, Microsoft Excel doesn’t display the dialog box when you quit with unsaved workbooks; it quits without saving them.
Это позволит избежать любых (возможно, скрытых) подсказок, не позволяющих полностью закрыть Excel.
мой Excel будет открыт только для чтения, поскольку это общедоступный файл. Так что я не хочу никаких подсказок! У меня есть ваше предложение, но результат тот же. Наверное это не мой ответ
У меня возникла та же проблема, и я смог решить ее с помощью кода, который проверяет, открыты ли несколько книг или нет .
Когда в подпрограмме встречается Application.Quit, он остается только в памяти и продолжает выполнять строки под ним и фактически завершает работу до тех пор, пока не встретит «Exit Sub». При обнаружении обычного «End Sub» на первичном уровне он также закроет Excel. Но скажем, если книга каким-то образом закрывается до того, как дойдет до строки «Выход из подпрограммы», «Конец» или «Конец подпрограммы», тогда Excel не закроется.
Решение состоит в том, чтобы создать общедоступную переменную ToQuitNow с начальным значением False и изменить ее на True в том месте, где вы хотите завершить работу Excel. и проверьте сразу после этого, чтобы убедиться, что это правда, затем вернитесь на предыдущий подуровень с помощью «Exit Sub» или «End», чтобы сразу выйти, и сделайте то же самое на каждом подпрограмме, где ожидается возврат из более глубокой подпрограммы. Когда он возвращается на основной уровень, последний «Exit Sub» фактически завершает работу Excel. Если вы не хотите, чтобы Excel запрашивал сохранение внесенных изменений, добавьте строку «ThisWorkbook.Saved = True» сразу после Application.Quit или перед последним «Exit Sub» на основном уровне, и Excel выйдет без сохранения.
Читайте также: