Excel не выгружается из памяти при закрытии

Обновлено: 07.07.2024

В этой статье рассмотрены действия по устранению неполадок, которые помогут устранить наиболее распространенные проблемы, когда вы получаете ошибку 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.

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Microsoft Excel автоматически сохраняет файл в процессе работы с книгой. Присваивает файлу имя временного файла и помещает файл в ту же папку, где хранится исходная версия. При ручном сохранении книги исходный файл удаляется, а временному файлу присваивается исходное имя файла.

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

Возможные причины, по которым документы не сохраняются

Выберите интересующую вас вкладку или перейдите в раздел «Быстрое разрешение».

  • Надстройки сторонних разработчиков
  • Разрешения
  • Документ не сохранен
  • Место на диске
  • Антивирусное ПО
  • Общий доступ к файлам
  • Имя файла

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

Некоторые надстройки от сторонних разработчиков ПО предназначены для работы с существующими функциями Excel, тогда как другие обеспечивают удобный переход при использовании программы стороннего производителя. Обычно эти надстройки сторонних разработчиков не влияют на функциональность Excel. Тем не менее, могут быть затронуты некоторые функции, такие как сохранение файла.

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

Закройте программу Excel.

Нажмите Пуск и выберите пункт Программы.

Программа Excel обнаружила, что нажата клавиша CTRL. Запустить Excel в безопасном режиме?

Выберите Да.

Откройте новую книгу Excel и постарайтесь сохранить ее. Если это помогло, попробуйте еще раз сохранить проблемный файл.

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

Для получения дополнительных сведений о безопасном режиме Microsoft Excel, нажмите в Excel клавишу F1, чтобы перейти в меню «Справка». Введите запрос безопасный режим в поле поиска, а затем нажмите кнопку Поиск, чтобы просмотреть нужные сведения.

Дополнительные сведения о том, как определить папки, которые Excel использует при запуске, и дополнительные параметры для отключения этой функции, см. в следующих статьях:

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

  • Разрешение на чтение
  • Разрешение на запись
  • Разрешение на изменение
  • Разрешения на удаление

Не удается получить доступ к документу только для чтения <file name>

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

При отсутствии указанных разрешений процесс сохранения в Excel не может быть завершен.

  • Документ не сохранен
  • Документ сохранен неполностью
  • Документ не сохранен. Все ранее сохраненные копии были удалены.
  • Документ не сохранен.

«Документ не сохранен» или «Документ сохранен неполностью»

При попытке создать временный файл процесс был прерван, возможно, по одной из следующих причин:

  • Была нажата клавиша ESC
  • Аппаратный сбой
  • Программный сбой
  • Проблема, связанная с носителем

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

Попробуйте сохранить файл на альтернативном диске.

Любые изменения, внесенные в последнюю версию, будут утеряны.

«Документ не сохранен». «Все ранее сохраненные копии были удалены» или «Документ не сохранен»

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

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

Чтобы проверить, не конфликтует ли установленное антивирусное ПО с Excel, временно отключите его, затем попробуйте сохранить файл в Excel.

Недопустимое имя файла.

Процесс сохранения файла

Когда приложение Excel сохраняет файл, оно делает это в соответствии с описанной ниже процедурой.

  1. В целевой папке, указанной в диалоговом окне Сохранить как, Excel создает временный файл со случайным именем (например, Cedd4100 без расширения имени файла). В этот временный файл записывается вся книга.
  2. Если сохраняются изменения существующего файла, Excel удаляет исходный файл.
  3. Excel изменяет имя временного файла, присваивая ему имя, указанное в диалоговом окне Сохранить как (например, Book1.xls).

Быстрое разрешение проблемы

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


Сохранение книги с новым именем файла

  1. В меню Файл выберите команду Сохранить как.
  2. Сохранение книги с уникальным именем


Перемещение исходных листов в новую книгу

  1. Добавьте лист заполнителя в книгу, Для этого нажмите Shift+F11.
  2. Сгруппируйте все листы (кроме фильтра). Для этого щелкните первый лист и, нажав и удерживая клавишу Shift, щелкните последний лист.
  3. Щелкните сгруппированные листы правой кнопкой мыши и выберите команду Переместить или скопировать.
  4. В списке В книгу выберите пункт (Новая книга).
  5. Нажмите OK.


Сохранение файла в другом формате Excel

  1. В меню Файл выберите команду Сохранить как.
  2. В списке Тип файла выберите формат файла, отличный от текущего. Если используется приложение Microsoft Excel 2007 или более поздней версии, сохраните файл в формате XLSX или XLSM вместо XLS.


Попробуйте сохранить книгу в другом месте

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


Попробуйте сохранить новую книгу в исходном месте

Создайте книгу Excel.

В меню Файл выберите команду Сохранить как.

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

  1. В поле Папка выберите папку, в которой хранится исходная книга.
  2. В поле Имя файла введите имя для нового файла.
  3. Выберите Сохранить.


Попробуйте сохранить книгу в безопасном режиме

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

Дополнительные ресурсы

Чтобы избежать проблем с сохранением документов должным образом, мы рекомендуем включить автосохранение. Дополнительные сведения см. в разделе Что такое автосохранение?

Если при использовании Excel у вас возникли определенные проблемы, перейдите на следующий веб-сайт, чтобы найти более подробную информацию о версии вашей программы:

Подробный обзор параметров

В следующем разделе приводится более подробное описание этих вариантов.

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

  • Пользователь пытается сохранить книгу Excel на сетевом диске при отсутствии необходимых для этого разрешений.
  • Вы пытаетесь сохранить книгу Excel на диске с недостаточным объемом свободного места.
  • Утрачено соединение с книгой Excel.
  • Имеется конфликт с антивирусной программой.
  • Предпринимается попытка сохранить общую книгу Excel.
  • При сохранении книги Excel превышено ограничение на длину пути (218 знаков).

Обходные пути для сохранения книг Excel

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

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

Вариант 1. Сохранение книги с новым именем

  1. В меню Файл выберите команду Сохранить как.
  2. Сохранение книги с уникальным именем

Вариант 2. Перемещение исходных листов в новую книгу

Добавьте лист заполнителя в книгу, Для этого нажмите Shift+F11.

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

Сгруппируйте все листы (кроме фильтра). Для этого щелкните первый лист данных, затем, удерживая клавишу Shift, щелкните последний лист данных.

Щелкните сгруппированные листы правой кнопкой мыши и выберите команду Переместить или скопировать.

В списке В книгу выберите пункт (Новая книга).

Нажмите OK.

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

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

Вариант 3. Сохранение файла в другом формате Excel

  1. В меню Файл выберите команду Сохранить как.
  2. В списке Тип файла выберите формат файла, отличный от текущего. Если используется приложение Microsoft Excel 2007 или более поздней версии, сохраните файл в формате XLSX или XLSM вместо XLS.

Вариант 4. Попробуйте сохранить книгу в другое место

Попробуйте сохранить книгу в другом месте, например, на локальном жестком диске, сетевом диске или съемном диске. Если вам удалось это сделать, возможны следующие причины проблемы:

  • Конфликт с антивирусной программой
  • Отсутствие необходимых разрешений
  • Чрезмерная длина имени файла
  • Конфликт общего доступа к файлу

Вариант 5. Попробуйте сохранить новую книгу в исходное место.

Чтобы сохранить новый файл Excel в первоначальном месте, выполните следующие действия:

Создайте книгу Excel.

В меню Файл выберите команду Сохранить как.

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

  1. В поле Папка щелкните папку, в которой хранится исходная книга.
  2. В поле Имя файла введите имя для нового файла.
  3. Выберите Сохранить.

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

  • Чрезмерная длина имени файла
  • Конфликт общего доступа к файлу

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

Если на диске достаточно свободного места, попробуйте способ 3.

Вариант 6. Попробуйте сохранить книгу в безопасном режиме

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

Примечания.

  • Если для сохранения книги используется сетевая папка, перезагрузите Windows в безопасном режиме с поддержкой сети и попытайтесь сохранить книгу еще раз.
  • Для устранения неполадок в Microsoft Excel 2010 и более поздних версиях нельзя использовать безопасный режим Windows.

Дополнительные сведения о запуске Windows в безопасном режиме см. Расширенные параметры запуска (включая безопасный режим).

Если книга сохраняется после перезагрузки Windows в безопасном режиме, попытайтесь сохранить файл еще раз. Для этого выберите в меню Файл пункт Сохранить.

Если книга не сохраняется после перезагрузки Windows в безопасном режиме, проблема может быть вызвана указанными ниже причинами:

Я тоже несколько раз заходил на решение этой проблемы, но никак не мог понять, почему процесс Excel.exe никак не хочет вылезать из памяти? Между тем генерация Excel или Word документов частенько требуется в различных проектах.

Вопрос на засыпку: в какой строке будет утечка памяти?

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

13 комментариев:

Значит нормально работать с Excel.Interop и избежать утечек памяти могут только законченные маньяки-параноики :)

@Shum
Да, другая крайность запоминать все процессы до начала работы с Excel и убивать созданный процесс командой Kill =)

Этот комментарий был удален администратором блога.

А если использовать динамическую привязку к Excel?
Через:
obj.GetType().InvokeMember(name, BindingFlags.GetProperty, null, obj, null);

@nikdmt
Да, можно и так. Такой вариант я даже находил где-то на MSDN. На самом деле по синтаксису он не на много проще стандартного варианта (который привел я).

Спасибо за дополнение!

По идее все должно решаться без изращений (без ReleaseComObject) если запускать процедуру работы с Excel в отдельном Application Domain

Признаюсь, что с Excel не пробовал, но с другими COM компонентами помогало.

@Ivan
Да, как вариант.

Уже получается:
1. Следить за удалением COM объектов из памяти
2. Использовать позднее связывание
3. Создать COM объекты в отдельном домене

Да. Забавный этот Excel. После исправлений одной программы чистил все через ReleaseComObject, приравнивал линки к null + сразу делал GC.Collect. Excel выгружается, но на всякий пожарный всетаки оставил код с убийством процесса :))

Для истинных ценителей всей убогости Excel.Interop предлагаю 100% гарантированный и безопасный способ борьбы с висящими зомби-процессами:

[DllImport("user32.dll", SetLastError = true)]
static extern uint GetWindowThreadProcessId(int hWnd, ref int lpdwProcessId);
.
application = new Application ;
int excelProcessId = -1;
GetWindowThreadProcessId(application.Hwnd, ref excelProcessId);
//
// Выполняем операции
// и выходим штатным методом
// после этого для верности пытаемся прибить процесс
try
var process = Process.GetProcessById(excelProcessId);
process.Kill();
>

Таким образом вы никогда не прибьёте чужой Excel процесс, но свой прибьёте со 100% гарантией.

Осталось добавить сюда запуск в отдельном процессе с таймаутом ожидания (иначе на простой workbook.Close() на сервере может вылезти диалоговое окошко и вы никогда об этом не узнаете) - и всё будет по фэн-шую :)

Да, Денис, ты прокачался круче всех =)

Process.GetProcesses().Where(p => p.MainWindowHandle.ToInt32() == applicationHwnd).ToList().ForEach(process => process.Kill());

после строки 10 у меня только 1 строка:
application = null;
для того, чтобы отвязать указатель =)
после закрытия программы и эксэля процесс умирает

Читайте также: