Ошибка приложения Excel при открытии файла с диаграммой

Метки:  ,

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

  • Приложение Excel падает (закрывается) при открытии файла с графиками;
  • Ошибка приложения Excel возникает при попытке открыть файл, содержащий диаграмму;

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

excel проблема с диаграммой

В Журнале событий мы наблюдаем запись о событии с кодом 1000 и источником Application Error:

При анализе аварийного дампа приложения (*.hdmp) обычно можно увидеть подобную информацию исключения (вывод урезан):

в большинстве случаев это NTSTATUS с кодом c0000005 - Access violation, доступ запрещен. стек вызовов потока для конкретного инцидента выглядел таким вот образом (вывод оптимизирован для улучшения представления):

по стеку вызовов видно, что ошибка приложения Excel при открытии файла с диаграммой возникает в недрах (некой) функций библиотеки chart.dll (библиотека, судя по названию, ответственная за графики/диаграммы), подгруженной в адресное пространство [основного] процесса приложения. Это указывает на проблемы с обработчиком диаграмм, в народе чаще именуемых графиками. Как оказалось, ошибка выскакивает на файлах, содержащих графики с осью дат, значения которой были отфильтрованы при помощи фильтра.

Решение 1

  • Office 2013: удалить обновление KB4018330;
  • Office 2016: удалить обновление KB4018319;

Решение 2

  • Office 2013: установить обновление: KB2986229;
  • Office 2016: установить обновление: KB4011128;

Решение 3: универсальное

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

  • Удаляем (деинсталлируем) Microsoft Office из системы;
  • Удаляем оставшиеся файлы из директории C:\Program Files\Microsoft Office\OfficeXX, где XX - соответствует версии MS Office;
  • Устанавливаем Microsoft Office заново (чистая инсталляция дистрибутива);
  • Находим в корне рабочей директории Офиса C:\Program Files\Microsoft Office\OfficeXX файл chart.dll и делаем копию (сохраняем его в любой [сторонней] временной папке).
  • Устанавливаем все имеющиеся патчи для Офиса через Windows Update;
  • Копируем сохраненный [нами ранее] файл chart.dll в рабочую директории Офиса: C:\Program Files\Microsoft Office\Office 16;

Почему бы не экстраполировать описанный метод на любую проблему, источником которой является сбой в коде функции библиотеки (.dll), используемой Excel (или любым другим приложением MS Office), которая не входит в число библиотек, [общеизвестные] проблемы в которых решаются другими (более специализированными) методами? Да, приведенное решение достаточно кривое, кропотливое, но тем не менее, если перед вами поставили задачу устранить ошибку Excel при открытии файла с диаграммами здесь и сейчас, если завтра никак не подходит и надо было еще вчера, то оно вполне себя оправдывает. Ждать официального решения (патча) иногда приходится очень долго, как показывает практика, от момента выявления и до публикации исправления подобных микропроблем разработчикам зачастую требуется несколько месяцев.

Добавить комментарий

Ваш адрес email не будет опубликован.