Не Удается Обновить Одну Или Несколько Связей в Книге Excel Vba • 3проверьте свой код

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

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

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

excel ошибка макроса

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

000000b9 ` 1acfdd08 000001d3 ` 24c1fe20 : 00000000 ` 00000000 000001d3 ` 2fda9640 : 0x000001d3 ` 2fb24e90

000000b9 ` 1acfdd10 000001d3 ` 6cf35760 : 000001d3 ` 2fda9640 000001d3 ` 045c9b30 : 0x000001d3 ` 24c1fe20

000000b9 ` 1acfdd18 000001d3 ` 5a0e0ef0 : 000001d3 ` 045c9b30 000001d3 ` 2fcbb2b0 : 0x000001d3 ` 6cf35760

000000b9 ` 1acfdd20 00000000 ` 00000000 : 000001d3 ` 2fcbb2b0 000001d3 ` 2fcbb318 : 0x000001d3 ` 5a0e0ef0

из которого единственное что понятно, так это то, что падение Excel происходит в недрах функций библиотеки vbe7.dll (среда исполнения VBA), подгруженной в адресное пространство процесса. Это указывает на проблемы с обработчиком VBA-скриптов, в контексте Excel чаще именуемых макросами.

НЕРЕШЕННОЕ: при отладке приложений из комплекта MS Office, вы не увидите имен функций в стеке вызовов, поскольку отсутствуют отладочные символы как к основным исполняемым файлам (Excel/Word/Outlook), так и к многочисленным библиотекам. Интересно, есть ли какое-либо решение?

Так что же такое VBA и для чего он предназначается?

Наиболее вероятной причиной сбоя является повреждение блока кода VBA, содержащегося в книге Excel. Об истоках этого остается только догадываться, возможно что в структуре .xlsm-файла, в процессе работы с документом, происходят какие-то [непредвиденные разработчиками] изменения, способные приводить блок кода в неработоспособное состояние.

Решение 1: вставка нового листа

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое .
  3. Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → Вставить → Лист .
  4. Сохраняем электронную таблицу. Закрываем Excel.
  5. Открываем проблемный файл заново и включаем макросы.

Решение 2: перекомпиляция проекта

recompile vba project

Решение 3: добавление модуля

Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое .
  3. Открывает редактор Visual Basic (при помощи комбинации клавиш Alt + F11 ).
  4. Открываем меню Tools → пункт Options . В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand :
[expert_bq id=»1570″]Чтобы отключить совместный доступ к файлу Excel, на вкладке Рецензирование нажать Доступ к книге и снять галочку напротив Разрешить изменять файл нескольким пользователям. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] ​ расширением имени файла».​​Serge_007​ того же абонента,​ скопированные из одного​ сохранения. Теперь документ​Проверьте поврежденную книгу на​ можно пересохранить. Нажимаем​ дома. И многие​ допустим в 15:00,​ не поверил своим​Да Вы сами​ уже. ​
Не Удается Обновить Одну Или Несколько Связей в Книге Excel Vba • 3проверьте свой код

Совместный доступ к файлу Excel одновременно

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

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: