VBA недоступна из офисных программ

Недавно я переустановил Windows 10, Avira Free Antivirus v. 15.0.44.142 и Office профессиональный плюс 2010. До переустановки эта комбинация приложений работала нормально.

Теперь, когда я пытаюсь открыть IDE VBA из нового документа Word, я получаю следующее сообщение:

Word столкнулся с проблемой.

При сохранении файла возникла проблема.

с некоторыми возможными причинами, перечисленными ниже, такими как отсутствие места на диске, нехватка ОЗУ или отсутствие разрешений; ни один из которых не имеет отношения к делу.

Единственное, что может иметь отношение к делу:

Эта ошибка также может возникать, если на компьютере установлена ​​версия антивирусного программного обеспечения, которая несовместима с Microsoft Office или должна быть обновлена.

Как уже отмечалось, я использую Avira Free Antivirus, и AFAICT обновляет антивирус. Я пытался открыть VBA IDE, пока защита Avira в режиме реального времени была отключена, но безуспешно.

Как только я отклоняю сообщение, открывается окно VBA IDE, но нет доступного проекта, и большинство пунктов меню отключены.

Сохранение документа с .docm расширение перед открытием VBA IDE не помогает.

Существуют сопоставимые странные результаты при попытке открыть VBA IDE из других приложений:

  • В Excel перечислены три проекта Project1, Project2 и Project3, но без обычного дерева объектов под каждым проектом - модулей классов, стандартных модулей и т. Д. - и без узла ThisWorkbook.
  • PowerPoint делает то же самое, что и Word - вообще без проекта - но без ошибок.

Я пытался удалить и переустановить VBA через установщик Office.

Настройки безопасности настроены на отключение макросов с предупреждением. IIRC старым поведением было отключать макросы, если я явно не разрешил их для конкретного документа. Доверие объектной модели для каждого приложения проверяется.

Я искал настройки для управления этим в Avira, но безуспешно.

Реестр не содержит VBAOff ключ описан здесь.

Как включить VBA для приложений Office?

NB. Предыдущая установка не была чистой установкой Windows 10; сначала была Windows 8, потом 8.1, потом 10.

Вещи, которые я пробовал перед открытием редактора VBA:

  • Ремонт офиса
  • Удалите и переустановите Office, затем вручную установите Office 2010 с пакетом обновления 2 (SP2).
  • Обновление Windows (обнаруживаются только обновления Office после вышеупомянутой ручной установки)
  • Запуск Word с правами администратора
  • Включить все макросы, выбранные из центра управления безопасностью
  • Удаление Normal.dotm шаблон и позволяет Word воссоздать его
  • Деинсталляция Office, запуск инструмента "Чистая деинсталляция Office", на который ссылается @harrymc в комментариях, и переустановка Office
  • Добавление Outlook (который ранее не был установлен)
  • Отключение UAC (перед запуском Word)
  • Загрузка в безопасном режиме - я не смог запустить Word; Слово не было распознано как активированное
  • настройка HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled = 1и перезагрузка

Глядя на Event Viewer, я ничего не нашел в Системе, Приложении или Безопасности (все в Windows Logs). Единственное, что я нашел, - это следующее событие в журналах приложений и служб -> оповещения Microsoft Office каждый раз, когда я пытаюсь открыть редактор VBA в Word для нового документа:

Log Name:      OAlerts
Source:        Microsoft Office 14 Alerts
Date:          07/03/2019 20:49:42
Event ID:      300
Task Category: None
Level:         Information
Keywords:      Classic
User:          N/A
Description:
Microsoft Word
Word has encountered a problem.
P1: 200815
P2: 14.0.7015.1000
P3: 5v59
P4: 0x80070002

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft Office 14 Alerts" />
    <EventID Qualifiers="0">300</EventID>
    <Level>4</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2019-03-07T18:49:42.772417400Z" />
    <EventRecordID>120</EventRecordID>
    <Channel>OAlerts</Channel>
    <Security />
  </System>
  <EventData>
    <Data>Microsoft Word</Data>
    <Data>Word has encountered a problem.</Data>
    <Data>200815</Data>
    <Data>14.0.7015.1000</Data>
    <Data>5v59</Data>
    <Data>0x80070002</Data>
  </EventData>
</Event>

Нет аналогичного события при открытии редактора в Excel или PowerPoint.


Использование Sysinternals ProcMon, захват только при попытке открыть редактор VBA из Word и фильтрация результатов для Process Name = "WINWORD.EXE" и исключая SUCCESS, BUFFER OVERFLOW а также NAME NOT FOUND от ResultЯ нашел следующее:

RegOpenKey         ACCESS DENIED      
      HKLM\Software\WOW6432Node\Microsoft\VBA
CreateFileMapping  FILE LOCKED WITH READERS
      C:\Program Files (x86)\Common Files\microsoft shared\VBA\VBA7\VBE7.DLL
CreateFileMapping  FILE LOCKED WITH READERS
      C:\Program Files (x86)\Common Files\microsoft shared\VBA\VBA6\VBE6EXT.OLB

FILE LOCKED WITH READERS повторяется несколько раз.

Но при дальнейшем расследовании я вижу, что позже читает из того же ключа реестра (HKLM\Software\WOW6432Node\Microsoft\VBA) добиться успеха. Так же CreateFileMapping использует длинное имя пути; за которым сразу следует успешный CreateFileMapping используя имя DOS, например C:\PROGRA~2\COMMON~1\MICROS~1\VBA\VBA7\VBE7.DLL,

4 ответа

Проверьте или установите последние обновления

Возможно, вам придется настроить Центр обновления Windows для автоматической загрузки и установки рекомендуемых обновлений. Установка любых важных, рекомендуемых и дополнительных обновлений может часто устранять проблемы, заменяя устаревшие файлы и исправляя уязвимости. Чтобы установить последние обновления Microsoft Office, см. Обновление Office и ваш компьютер с Центром обновления Microsoft.

Список последних обновлений Office см. В разделе Обновления Office. Если ваша проблема не будет решена после установки последних обновлений Windows и Office, перейдите к способу 2.

Рекомендуется убедиться, что на вашем компьютере установлены последние обновления для Windows. Обновления часто решают проблемы с программным обеспечением. Прежде чем использовать какой-либо из следующих способов, попробуйте сначала установить обновления. После установки обновлений перезагрузите компьютер и запустите Word.

Устранение неполадок, возникающих при запуске Word

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

Вот методы устранения неполадок, которые вы должны попробовать:

Способ 1. Вставьте документ в другой файл
Способ 2: Запустите Word с помощью переключателя / a
Способ 3: удалить раздел реестра Word Data
Способ 4: удалить раздел реестра Word Options
Способ 5: заменить глобальный файл шаблона Normal.dot или Normal.dotm
Способ 6. Отключите надстройки папки "Автозагрузка"
Способ 7. Удалите разделы реестра надстроек COM.
Способ 8: изменить принтер по умолчанию

Следуйте подробностям в MSDN.

Проверьте разрешения и доступ к файлам

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

Это также может показать, отсутствуют ли определенные разделы реестра или имеют неправильные разрешения.

Убедитесь, что UAC не блокирует запуск

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

Проверьте журналы событий на наличие предупреждений и ошибок

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

Начните в свежей среде

Создайте новую учетную запись пользователя с правами локального администратора. Войдите в систему с новой учетной записью и попробуйте запустить редактор VBA. Это обеспечивает "чистую" среду, основанную на локальном профиле пользователя по умолчанию, которая помогает определить, является ли причиной искажение профиля пользователя.

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

Как вы сказали, вы используете Windows 10. Откройте диспетчер задач и проверьте состояние Office Source Engine, если он остановлен, запустите его, но если вы не можете запустить его, попробуйте Ccleaner, очистите реестр и перезагрузите компьютер.

Поскольку эта странная проблема возникает на нескольких компьютерах, даже на всех ваших компьютерах, это больше относится к вашей установке, чем к ошибке в Office.

Проблема может заключаться в том, что ваша компания выборочно устанавливает исправления Windows Update (MSUS), или неудачный выбор вариантов установки, или какой-то программный продукт, который вы установили на все ваши компьютеры (основным подозреваемым всегда является программное обеспечение безопасности).

Некоторые тесты, которые вы можете выполнить, это загрузка в безопасном режиме, чтобы отключить все стороннее программное обеспечение, или использование Process Explorer, чтобы проверить, какой процесс блокируется. VBE7.DLL а также VBE6EXT.OLB,

Последний тест состоит в том, чтобы выполнить чистую установку Windows 10 и только Office, используя параметры установки по умолчанию, а затем повторно запускать Центр обновления Windows, пока не будет найдено больше обновлений. Вы можете сделать это на виртуальной машине, чтобы упростить.

Что бы вы ни нашли, я считаю, что эта проблема связана с вашей методологией установки или программным обеспечением.

Другие вопросы по тегам