Симптомы
При открытии файла или попробуйте использовать макросы в Microsoft Office 2013 2 нажмите кнопку Run (C2R) возможно возникновение следующих проблем.
Microsoft Access
Постоянно мигает, окно установщика Windows.
При использовании мастера Access появляется следующее сообщение об ошибке:
«Это средство не установлено или была отключена»
При открытии редактора Visual Basic (VBE) появляется следующее сообщение об ошибке:
«Microsoft Access не удалось загрузить Visual Basic для приложений библиотеки динамической компоновки (dll) Vbe7»
Microsoft Word
После нажатия кнопки макросы, , вы получаете следующее сообщение об ошибке:
«Функция, которую вы пытаетесь запустить, содержит макросы или содержимое требует поддержки языка создания макросов»
Microsoft Excel
При открытии существующих книг, можно получить следующее сообщение об ошибке:
«Visual Basic для приложений (VBA) макросов в данной книге повреждены и были удалены.» Открытие существующей книги
Параметры Visual Basic, макросыи Записи макросов отключены в группе разработчиков и просмотр ленты.
Microsoft PowerPoint
Параметры Visual Basic и макросы отключаются на ленте.
При открытии презентаций с VBA-кодом возникает следующая ошибка:
«Документ содержит макросы. Для этого приложения поддержка макроязыка отключена. Компоненты, которым требуется VBA не доступны. Вы хотите открыть этот документ только для чтения?»
Причина
Очистители реестра сторонних разработчиков и обслуживание приложений системы удалены несколько разделов реестра, используемых для выполнения функций VBA в приложениях Microsoft Office 2013.
Решение
Запустите интерактивный ремонт пакета Office. Вот как:
-
Нажмите кнопку Пуск>Панель управления>программы и компоненты.
-
Выберите приложение Microsoft Office и нажмите кнопку Изменить.
-
Выберите Восстановление по сети и затем нажмите кнопку Восстановить.
После завершения восстановления сети следует использовать приложения Office 2013.
-
На начальном экране введите в поле поиска Панели управления и затем коснитесь или щелкните приложения.
-
Нажмите кнопку или выберите Панель управления > программы > программы и компоненты.
-
Выберите программу Microsoft Office и нажмите кнопку Изменить.
-
Выберите Восстановление по сети и затем нажмите кнопку Восстановить.
После завершения восстановления сети следует использовать приложения Office 2013.
Дополнительные сведения
Во избежание повторения обратитесь к поставщик очистки реестра или обслуживания системы приложений.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
Symptoms
When you open a file or try to use macros in Microsoft Office 2013 Click 2 Run (C2R), you may experience one of the following symptoms.
Microsoft Access
Windows Installer window continuously flashes.
When you use Access wizards you get the following error:
«This feature isn’t installed, or has been disabled»
When you open the Visual Basic Editor (VBE) you get the following error:
«Microsoft Access is unable to load the Visual Basic for Applications dynamic-link library (dll) Vbe7»
Microsoft Word
After you click Macros, you get the following error:
«The function you are attempting to run contains macros or content that requires macro language support»
Microsoft Excel
When you open existing workbooks, you get the following error:
«The Visual Basic for Applications (VBA) macros in this workbook are corrupted and have been deleted.» opening existing workbooks
The Visual Basic, Macros, and Record Macro options are disabled under the Developer and View ribbon.
Microsoft PowerPoint
The Visual Basic and Macros options are disabled on the ribbon.
When you open presentations with VBA code you get the following error:
«The document contains macros. Macro language support for this application is disabled. Features requiring VBA are not available. Would you like to open this document read-only?»
Cause
Non-Microsoft registry cleaners and system maintenance applications deleted multiple registry key values that are used for VBA functionality in Microsoft Office 2013 applications.
Resolution
Run an Online Repair of Office. Here’s how:
-
Click Start>Control Panel>Programs and Features.
-
Click your Microsoft Office program, and then click Change.
-
Select Online Repair, and then click Repair.
After Online Repair is complete, you should be able to use your Office 2013 applications.
-
From the Start screen, type Control Panel in the Search box, and then tap or click Apps.
-
Tap or click Control Panel > Programs > Programs and Features.
-
Select your Microsoft Office program, and then click Change.
-
Select Online Repair, and then click Repair.
After Online Repair is complete, you should be able to use your Office 2013 applications.
More Information
To prevent recurrences, contact the provider of the registry cleaner or system-maintenance application.
Need more help?
Want more options?
Explore subscription benefits, browse training courses, learn how to secure your device, and more.
Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.
Не так давно очередной раз столкнулся с ошибками приложения Excel при попытке включения макросов после открытия файлов .xlsm. Вспомнил, что подобные проблемы преследуют пользователей довольно давно, но чаще всего они наблюдались с Excel 2013 и Excel 2016. Характерные особенности этой группы ошибок следующие:
- Приложение Excel закрывается при открытии файла с макросами (при включенном режиме безопасности Включить все макросы);
- Ошибка приложения Excel возникает при попытке включить содержимое (нажатии соответствующей кнопки);
- Ошибка приложения Excel возникает при сохранении файла с макросами;
Ну и по горячим следам очередного инцидента, дабы не откладывать на потом, решил для себя собрать небольшой хаб по ошибкам приложения Excel с последующей модификацией, дабы опять не терять время на поиск информации в Сети и на составление облака причин.
Суть в том, что в процессе открытия файла xlsm, и при отключенных макросах, в верхней части основного окна (над таблицей), высвечивается строка уведомления: ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ Запуск макросов отключен, с кнопкой включения содержимого (макросов). Как только пользователь её нажимает, Excel попросту аварийно завершается (падает) с ошибкой Программа Microsoft Excel не работает и характерным окном уведомления:
При этом было замечено, что непосредственно перед возникновением ошибки приложения Excel никаких системных обновлений и обновлений пакета Office не устанавливалось. Возможно, каким-то образом задействованы последние обновления на Office, но прямой связи я не заметил, а подробного исследования проблемы не проводил. При этом зависимости от версии операционной системы (мною лично сбои наблюдались на Windows 10 LTSC и Windows 7 Professional) так же выявлено не было. При анализе аварийного дампа приложения (*.hdmp) обычно можно увидеть подобную информацию исключения (вывод урезан):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
. . . EXCEPTION_RECORD: (.exr —1) ExceptionAddress: 00007ff86a1e05ac (VBE7+0x00000000001405ac) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 0000000000000001 Parameter[1]: 0000000000000010 Attempt to write to address 0000000000000010 DEFAULT_BUCKET_ID: NULL_CLASS_PTR_WRITE PROCESS_NAME: EXCEL.EXE ERROR_CODE: (NTSTATUS) 0xc0000005 — <Unable to get error code text> EXCEPTION_CODE: (NTSTATUS) 0xc0000005 — <Unable to get error code text> EXCEPTION_CODE_STR: c0000005 EXCEPTION_PARAMETER1: 0000000000000001 EXCEPTION_PARAMETER2: 0000000000000010 WRITE_ADDRESS: 0000000000000010 . . . |
обычно это NTSTATUS с кодом c0000005 — Access violation, доступ запрещен. И чаще всего в дампе можно увидеть такой вот стек потока (вывод оптимизирован для улучшения представления):
. . . STACK_TEXT: 000000b9`1acfdd00 000001d3`2fb24e90 : 000001d3`5a0e0ef0 00000000`00000000 : VBE7+0x1405ac 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 и для чего он предназначается?
VBA (Visual Basic for Application) — язык макропрограммирования, основанный на языке Visual Basic.
В приложениях, входящих в комплект MS Office, таких как Excel, Word, PowerPoint и Access, VBA используется для автоматизации множества рутинных задач (напр.: повторяющихся однотипных действий), позволяет создавать формы для общения с пользователем и предлагает множество иного богатого функционала. При помощи VBA доступно управление электронной таблицей посредством объектно-ориентированной модели кода/данных, при помощи VBA-кода входные данные таблиц могут быть обработаны и представлены в итоговых (результирующих) таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать, изменять его и управлять расчётами. На выходе VBA проект, используемый в структурах описанных выше приложений (электронные таблицы Excel, презентации PowerPoint, базы Access), компилируется в специальный бинарный исполняемый файл, который размещается внутри файла основного формата. Применительно к Excel это файл vbaProject.bin, который располагается внутри *.xslm-файла в директории /xl, представляющий собой бинарный исполняемый файл проекта, содержащий макрос в откомпилированном (готовом к исполнению) виде.
Наиболее вероятной причиной сбоя является повреждение блока кода VBA, содержащегося в книге Excel. Об истоках этого остается только догадываться, возможно что в структуре .xlsm-файла, в процессе работы с документом, происходят какие-то [непредвиденные разработчиками] изменения, способные приводить блок кода в неработоспособное состояние.
Решение 1: вставка нового листа
Выполните приведенную последовательность действий:
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое.
- Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → Вставить → Лист.
- Сохраняем электронную таблицу. Закрываем Excel.
- Открываем проблемный файл заново и включаем макросы.
Решение 2: перекомпиляция проекта
Выполните последовательность действий:
- Запускаем и открываем новую книгу Excel (не ваш проблемный файл).
- Открываем меню Файл — выбираем Параметры — далее открываем Центр управления безопасностью и заходим в Параметры центра управления безопасностью.
- В разделе Параметры макросов — выставляем чекбокс Отключить все макросы с уведомлением.
- В разделе Надежные расположения — выставляем чекбокс Отключить все надежные расположения.
- В разделе Надежные документы — выставляем чекбокс Отключить надежные документы.
- Жмем везде OK. Закрываем Excel.
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое.
- Открывает редактор Visual Basic при помощи комбинации клавиш Alt+F11. Либо можно использовать обходной маневр: в настройках включаем меню Разработчик, после этого в появившемся сверху в ленте меню Разработчик выбираем пункт Visual Basic.
- В открывшемся окне редактора Visual Basic (VBA редактор) пересохраняем проект: для этого жмем на панели инструментов кнопку Сохранить (изображение дискетки или комбинация Ctrl+S).
- Выбираем из меню Debug — выбираем пункт меню Compile VBA Project:
- Еще раз сохраняем проект кнопкой Сохранить.
- Закрываем редактор Visual Basic.
- Сохраняем файл Excel через меню Файл — опцию Сохранить (или нажатием на значок дискетки в левом верхнем углу, либо комбинация клавиш Ctrl+S).
- Возвращаем все установки безопасности, сделанные на предыдущих шагах (пункты 2-5).
- Закрываем xlsm-файл.
- Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое.
Решение 3: добавление модуля
Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.
- Открываем [проблемный] .xlsm-файл (файл с макросами).
- Не нажимаем кнопку Включить содержимое.
- Открывает редактор Visual Basic (при помощи комбинации клавиш Alt+F11).
- Открываем меню Tools → пункт Options. В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand:
Закрываем окно Опции нажатием клавиши OK.
- В левом фрейме окна проекта (Project) спускаемся вниз, находим раздел Modules, жмем на нём правую кнопку → пункт Insert → Module:
- Далее просто закрываем окно редактора Visual Basic, сохраняем основной xslm-документ и закрываем Excel.
- Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое.
Download PC Repair Tool to quickly find & fix Windows errors automatically
In this article, we are going to discuss methods on how to fix VBA error 400 in Excel. The error 400 in Excel usually occurs while running a Microsoft Visual Basic for Applications (VBA) macro. It causes the macros to crash or fail to run and return an error 400 message. Now, there can be different reasons for such an error; let us discuss them.
What causes VBA error 400 in Excel?
Here are the reasons due to which error 400 is triggered when running a Macro in Excel:
- Faulty installation of the Office software.
- There is some error in the VBA code.
- Invalid value in the argument.
- The running macro is corrupted.
- Excel-related files infected by some malware.
- Failure to read/ write from a file.
- Invalid registry entries.
If you are encountering error 400 in Excel, you can use the below-listed solutions to resolve it.
Here are the methods to fix error 400 encountered while running a macro in Excel:
- Move Macros to a new Module.
- Enable trusted access to VBA.
- Review your VBA code.
- Repair Microsoft Excel.
- Uninstall, and then reinstall Excel.
- Some other methods like scan for malware, etc.
Let us discuss these methods elaborately.
1] Move Macros to a new Module
Transferring your macros to a new module may fix the issue in case there is some external error. You can use the below steps to do so:
Go to the Developers tab and click on the Visual editor option. In case you don’t see the Developers tab on the main ribbon in Excel, go to File > Options and from Customize Ribbons tab, turn on the Developers checkbox from the Main Tabs section.
Now, in the Microsoft Visual Basic for Applications window, click on the Insert menu and then the Module option.
After that, paste your Macro code into this new module and save it using the dedicated option from the File menu.
Also, you need to delete the old module by right-clicking it and using the Remove option.
At last, click the File > Close and Return to Microsoft Excel option and see if the error 400 is resolved in Excel.
2] Enable trusted access to VBA
You can turn on the trusted access to VBA and see if the issue is gone. Here are the steps to enable trusted access to VBA:
- Move to the Developers tab and click on the Macros Security option.
- In the Trust Centre window, enable the option named Trusted access to the VBA project object model.
- Press the OK button.
3] Review your code
An error in VBA code can trigger error 400 in Excel. So, you need to thoroughly review the macro code and correct the error in the code if any. Also, check macros if there is any corruption.
4] Repair Microsoft Excel
If none of the above works, the problem might be with the Excel app. The application might be installed incorrectly or something needs to be repaired. So, repair Microsoft Excel using the below steps:
- Launch Settings app and go to Apps > Apps & features.
- On the right, locate and click Office 365/ Microsoft 365 program.
- Tap on the Modify button and then select Online Repair or Quick Repair option.
- Press the Repair button which repairs Excel and other Office apps.
5] Uninstall, and then reinstall Excel
You can also try to uninstall and then reinstall Office and Excel software to start afresh. See if this fixes up the error.
6] Some Other Methods
Also, some other solutions may also work like:
- You can try running an SFC scan to check and repair corrupted system files.
- Some malicious programs can also cause this error. So, check and remove malware and suspicious application with Microsoft Defender or third-party antivirus or antimalware program.
- Try deleting corrupted cache data and system junk files.
Hope the above solutions help!
Now read: How to Fix Runtime Error 1004 in Excel
Komal has done M.Tech in Computer Science & Engineering. She is a keen follower of the Windows ecosystem & a technical writer since the last six years. She loves finding solutions for day-to-day tech problems.
- Remove From My Forums
-
Question
-
Hello.
Whenever I open Excel, an errorbox titled «Microsoft Visual Basic for Applications» pops up.
it says:
Compile error in hidden module: MPrecedentAnalyzer. This error commonly occurs when code is incompatible with the version, platform or architecture of this application. Click «Help» for information on how to correct this error.
Would anyone know how to fix this?
Thanks,
Answers
-
Hi,
First, try the following method:
If in Windows XP open the following folder:
C:Documents and SettingsUSERNAMEApplication DataMicrosoftForms where
USERNAME is the current userIf in Windows 7 open the following folder:
C:UsersUSERNAMEAppDataRoamingMicrosoftForms where
USERNAME is the current userOnce the folder is located, delete these 2 files
ComctlLib.exd
MSComctlLib.exdIf the above method doesn’t work, then try the following:
Start Excel in safe mode to check the issue. If the issue doesn’t occur in safe mode, then it means that the issue caused by some add-ins such as PDF and so on.
Jaynet Zhang
TechNet Community SupportKomal has done M.Tech in Computer Science & Engineering. She is a keen follower of the Windows ecosystem & a technical writer since the last six years. She loves finding solutions for day-to-day tech problems.
- Remove From My Forums
-
Question
-
Hello.
Whenever I open Excel, an errorbox titled «Microsoft Visual Basic for Applications» pops up.
it says:
Compile error in hidden module: MPrecedentAnalyzer. This error commonly occurs when code is incompatible with the version, platform or architecture of this application. Click «Help» for information on how to correct this error.
Would anyone know how to fix this?
Thanks,
Answers
-
Hi,
First, try the following method:
If in Windows XP open the following folder:
C:Documents and SettingsUSERNAMEApplication DataMicrosoftForms where
USERNAME is the current userIf in Windows 7 open the following folder:
C:UsersUSERNAMEAppDataRoamingMicrosoftForms where
USERNAME is the current userOnce the folder is located, delete these 2 files
ComctlLib.exd
MSComctlLib.exdIf the above method doesn’t work, then try the following:
Start Excel in safe mode to check the issue. If the issue doesn’t occur in safe mode, then it means that the issue caused by some add-ins such as PDF and so on.
Jaynet Zhang
TechNet Community Support-
Marked as answer by
Monday, December 24, 2012 9:14 AM
-
Marked as answer by