Office 2024/Microsoft 365: почему не работает ActiveX и как это диагностировать

· · ActiveX, COM, Office, Microsoft 365, 32-бит, 64-бит, Windows, Использование существующих активов

Что нужно знать в первую очередь

В Office 2024 и Microsoft 365 элементы управления ActiveX отключены по умолчанию. Если кнопки и формы Excel, а также встроенные объекты Word / PowerPoint, которые раньше работали, после обновления вдруг выглядят «неработающими», причина, как правило, — не поломка программы, а изменение значения безопасности по умолчанию.

Причины делятся на три большие группы.

  1. Изменение настроек безопасности (Trust Center, отключение ActiveX по умолчанию)
  2. Несовпадение разрядности 32-бит / 64-бит (32-битный элемент управления в 64-битном Office)
  3. Проблемы с регистрацией COM или нехватка зависимых DLL / рантаймов (не выполнен regsvr32, отсутствует рантайм VC++)

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

Office 2024 vs Microsoft 365 — в чём разница

Аспект Office 2024 (бессрочная лицензия) Microsoft 365 Apps (подписка)
Модель обновлений Только обновления безопасности / качества. Новые функции не добавляются Постоянные функциональные обновления по каналам
ActiveX по умолчанию Отключён Отключён (так же)
Пути реестра / политик Остаются 16.0 Остаются 16.0
Поддерживаемая ОС (на 2026 год) Windows 11, Server 2025 / 2022, Win10 LTSC Официальное требование — Windows 11, Server 2025 / 2022. Для Win10 переходный период до октября 2028 года
Способ установки Click-to-Run (не MSI) Click-to-Run

Важно: путь реестра остаётся 16.0 даже в Office 2024. Искать «24.0, потому что 2024 год» — классическая ложная тропа.

О Windows 10

Основная поддержка Windows 10 завершилась 14 октября 2025 года. Однако Microsoft 365 Apps на Windows 10 всё ещё находится в переходном периоде и получает обновления безопасности до 10 октября 2028 года. Иными словами, ситуация выглядит так:

  • Неверно, что «на Windows 10 вообще ничего не работает»
  • Вы работаете в состоянии двойной предпосылки: «ОС без поддержки, Apps — в переходном периоде»

Общая схема диагностики

НетДаДаНетДаНетНетДаНетДаВоспроизвести симптомСобрать название продукта, сборку, разрядность Office и сведения об ОСОС / Office соответствуют требованиям поддержки?Исправить предпосылки: пересмотреть ОС / редакцию Office / каналПроверить Trust CenterПроблема в настройках ActiveX / защищённом просмотре / доверенных документах?Исправить настройки, подпись, схему распространенияЗависит от устаревшего Web / IE?Проверить режим IE и список сайтовПроверить CLSID / InprocServer32 / TypeLibРегистрация COM в порядке?regsvr32 / RegAsm / переустановкаПроверить зависимые DLL / .NET / рантайм VC++Зависимости удовлетворены?Восстановить и переустановить нужный рантаймСобрать логи / Procmon / Process ExplorerПроверить различия по сборкам и обновлениям безопасности

Шаг 1 — собрать сведения об окружении

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

Со стороны Office

  • Проверьте через [Файл] → [Учётная запись] → [Сведения о продукте]
    • название продукта (Office 2024 или Microsoft 365)
    • версию и номер сборки (самое важное)
    • тип установки (Click-to-Run)
  • Проверьте 32-бит / 64-бит в диалоге сведений о продукте, например [О программе Excel] / [О программе Word]

Со стороны Windows

# Базовые сведения об ОС
Get-CimInstance Win32_OperatingSystem |
  Select-Object Caption, Version, BuildNumber, OSArchitecture

# Пути к исполняемым файлам процессов Office
Get-Process WINWORD, EXCEL, POWERPNT, VISIO -ErrorAction SilentlyContinue |
  Select-Object ProcessName, Path

Частые ошибки

Ошибка Правильный подход
Ограничиться фразой «у нас последняя версия» Проверить номер сборки. В Microsoft 365 различия между каналами существенны
Установить 32-битный COM / ActiveX в 64-битный Office Разрядность Office и COM обязана совпадать
Считать, что на Windows 10 ничего не сработает В переходный период всё ещё может работать, но основа нестабильна

Шаг 2 — проверить Trust Center и настройки безопасности

Здесь нужно разделить два случая: «блокируется сам файл» или «не удаётся загрузить сам COM-объект».

Чек-лист (по порядку сверху вниз)

Пункт проверки Где искать Частая причина
1 Панель сообщений ActiveX Жёлтая панель при открытии файла Отключено по умолчанию. Проверьте, заработает ли временно после [Включить содержимое]
2 Trust Center > Параметры ActiveX [Файл] > [Параметры] > [Центр управления безопасностью] Не установлен ли режим «Отключить всё без уведомления»
3 Защищённый просмотр Trust Center > Защищённый просмотр Блокируется при открытии из сетевого ресурса или вложения письма
4 Доверенные документы Trust Center > Доверенные документы После однократного доверия предупреждение больше не появляется, и воспроизведение зависит от конкретного компьютера
5 Доверенные издатели Trust Center > Доверенные издатели Даже при наличии подписи доступ не разрешается, если сертификат не распространён
6 Параметры макросов Trust Center > Параметры макросов Макросы и ActiveX — разные настройки, но иногда влияют друг на друга совместно

Что попробовать в первую очередь

  1. Скопировать проблемный файл в локальную управляемую папку (например, C:\Temp) и сохранить под другим именем
  2. Не открывать файл напрямую с сетевого ресурса или из вложения письма (чтобы исключить влияние защищённого просмотра)
  3. Запустить Office в безопасном режиме, чтобы исключить влияние надстроек
excel /safe
winword /safe
powerpnt /safe

Шаг 3 — проверить зависимость от режима IE

Бывают случаи, когда то, что кажется «обычным сбоем ActiveX», на самом деле вызвано отсутствием настройки режима IE в Edge.

  • Режим IE — не общий переключатель браузера, а применяется только к сайтам, зарегистрированным в Enterprise Site List
  • Если не работает лишь часть внутренней веб-интеграции, проверьте, входит ли этот сайт в список для режима IE

Проверить это можно здесь:

  • Политики Edge: административные шаблоны > Microsoft Edge
  • Реестр: HKLM\SOFTWARE\Policies\Microsoft\Edge
  • Диагностическая страница: edge://compat/iediagnostic

Шаг 4 — проверить регистрацию COM

Если с Trust Center всё в порядке, следующий шаг — проверить, корректно ли зарегистрирован сам COM-объект.

Основные команды проверки

:: Проверить состояние регистрации CLSID
reg query "HKLM\SOFTWARE\Classes\CLSID\{YOUR-CLSID-HERE}\InprocServer32" /s

:: Зарегистрировать / отменить регистрацию нативной COM / ActiveX DLL
regsvr32 C:\Path\YourControl.dll
regsvr32 /u C:\Path\YourControl.dll

Для COM-компонентов на .NET (важно)

Для сборок .NET regsvr32 не подходит. Используйте RegAsm.

:: 32-битный Office на 64-битной Windows -> используйте RegAsm из Framework
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb

:: 64-битный Office -> используйте RegAsm из Framework64
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb

Типичная ошибка: «разрядность RegAsm не совпадает с разрядностью Office» — в реестре регистрация выглядит успешной, но Office компонент не находит.

Шаг 5 — проверить зависимые DLL / рантаймы

Если «основная DLL присутствует, но не загружается», чаще всего причина — нехватка зависимости.

Рантаймы, которых часто не хватает на практике

Что часто отсутствует Как проверить
Пакеты Visual C++ Redistributable (2013, 2015-2022) Список в панели управления > Программы и компоненты
.NET Framework 4.8.1 reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
Зависимые DLL (специфичные для поставщика) Проверка через Process Explorer / Procmon

Инструменты для низкоуровневого анализа

Инструмент Назначение
Process Explorer Просмотр списка DLL, загруженных в процесс
Procmon Отслеживание NAME NOT FOUND / PATH NOT FOUND / ACCESS DENIED в реальном времени

Если снять лог Procmon в момент воспроизведения и отфильтровать по NAME NOT FOUND, сразу становится видно, какую DLL или ключ реестра не удалось найти.

Шаг 6 — собрать журналы для окончательной проверки

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

Включение общего журналирования Office

reg add HKCU\Software\Microsoft\Office\16.0\Common\Logging /v EnableLogging /t REG_DWORD /d 1

Включение подробного журналирования Click-to-Run

reg add HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v LogLevel /t REG_DWORD /d 3
reg add HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v PipelineLogging /t REG_DWORD /d 1

Журналы записываются в %windir%\temp или %temp%.

Дополнительно используйте средство просмотра событий

eventvwr.msc
  • Проверьте раздел Журналы Windows > Приложение
  • Ошибки .NET Runtime и SideBySide часто оказываются решающей подсказкой

Отключение журналирования после проверки (не забудьте)

reg delete HKCU\Software\Microsoft\Office\16.0\Common\Logging /v EnableLogging /f
reg delete HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v PipelineLogging /f
reg delete HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v LogLevel /f

Быстрый справочник по ключевым разделам реестра / политик

Четыре пути, которые стоит запомнить

Назначение Путь
Корень политик Office HKLM\SOFTWARE\Policies\Microsoft\Office\16.0
Проверка полного отключения ActiveX HKCU\Software\Microsoft\Office\Common\Security\DisableAllActiveX (1 = отключено, 0 = снято)
Регистрация COM-объекта HKLM\SOFTWARE\Classes\CLSID\{CLSID}\InprocServer32
Kill bit для COM в Office HKLM\Software\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID}

На 32-битном Office в 64-битной Windows дополнительно проверяйте всё, что связано с COM, под Wow6432Node.

Часто используемые тестовые записи реестра (только для проверки)

Windows Registry Editor Version 5.00

; Только для теста: снять полное отключение ActiveX
[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]
"DisableAllActiveX"=dword:00000000

Предупреждение: эти настройки предназначены только для проверки. Постоянное решение — «доверенный канал распространения плюс подпись».

Частые симптомы и способы устранения

Симптом Наиболее вероятная причина Что попробовать в первую очередь
Кнопка не отвечает после обновления ActiveX отключён по умолчанию Панель сообщений → [Включить содержимое] → проверить Trust Center
Сбой только на 64-битном Office 32-битный COM / ActiveX Уточнить у поставщика наличие версии x64. Если нет — перейти на 32-битный Office
Не работает только на определённом ПК COM не зарегистрирован / регистрация повреждена Проверить CLSID через reg query → перерегистрировать через regsvr32
DLL есть, но не загружается Нехватка зависимой DLL / рантайма VC++ Отследить NAME NOT FOUND через Procmon
Сбой при открытии с сетевого ресурса или из вложения письма Защищённый просмотр / MOTW Скопировать в локальную папку и сравнить воспроизведение
Не работает только часть внутренней веб-интеграции Не настроен режим IE Добавить нужный сайт в Enterprise Site List
Подписано, но доступ не разрешён Сертификат не распространён / доверенный издатель не зарегистрирован Проверить действительность подписи кода и распространение сертификата
Поведение меняется при повторном использовании сценариев из эпохи MSI Переход на модель Click-to-Run Пересмотреть старые скрипты и подходы, рассчитанные на саморегистрацию

Рекомендуемые настройки для организаций

Базовый принцип постоянного решения — «не снижать безопасность в целом, а разрешать только необходимое, точечно».

Пункт Рекомендация
Канал обновлений (Microsoft 365) Для машин с сильной зависимостью от устаревшего ActiveX — канал ежемесячных корпоративных обновлений (Monthly Enterprise) (изменения проще отслеживать)
Разрядность Office Если поставщик прямо не заявляет о поддержке x64, приоритет — 32-битному Office
Доверенные расположения Доверенные сетевые расположения запрещены как правило. При необходимости — процедура запроса исключения
Подпись Собственные ActiveX / макросы / надстройки должны иметь подпись кода, доверенные издатели управляются централизованно
Режим IE В Enterprise Site List добавляются только нужные URL (избегайте превращения всей инфраструктуры в устаревшую)
Проверка перед развёртыванием Перед боевым выпуском создать pilot-кольцо и проверить фиксированную сборку на репрезентативных документах / машинах

Пример конфигурации развёртывания Microsoft 365 (32-бит + Monthly Enterprise)

<Configuration>
  <Add OfficeClientEdition="32" Channel="MonthlyEnterprise">
    <Product ID="O365ProPlusRetail">
      <Language ID="ja-jp" />
    </Product>
  </Add>
  <Updates Enabled="TRUE" />
  <Display Level="None" AcceptEULA="TRUE" />
</Configuration>

Крайняя мера — восстановление

  • Быстрое восстановление / восстановление через Интернет помогает при повреждении настроек и регистрации
  • Однако оно не решает несовпадение x86 / x64 и сами проблемы подписи / политик
  • Восстановление выполняется в последнюю очередь (если сделать его раньше, диагностические логи будут испорчены)

Быстрый справочник команд

Цель Команда
Запуск в безопасном режиме excel /safe / winword /safe
Регистрация COM DLL regsvr32 xxx.dll
Отмена регистрации COM DLL regsvr32 /u xxx.dll
Регистрация .NET COM (32-битный Office) Framework\v4.0.30319\RegAsm.exe xxx.dll /codebase /tlb
Регистрация .NET COM (64-битный Office) Framework64\v4.0.30319\RegAsm.exe xxx.dll /codebase /tlb
Резервное копирование реестра reg export HKCU\... backup.reg /y
Включение общего журналирования Office reg add HKCU\Software\...\Logging /v EnableLogging /t REG_DWORD /d 1
Включение подробного журналирования Click-to-Run reg add HKLM\SOFTWARE\...\OverRide /v LogLevel /t REG_DWORD /d 3
Запуск средства просмотра событий eventvwr.msc

Итог — не перепутайте порядок

Ошибка настройки → несовпадение ОС / разрядности → проблема с COM-объектом → зависимости → различия обновлений

Проблема с ActiveX может выглядеть как «просто проблема Excel», но на деле это пересечение пяти слоёв: безопасность Office по умолчанию + требования поддержки Windows + регистрация COM-объекта + зависимые рантаймы + модель обновлений. Вместо того чтобы бездумно ослаблять настройки, стоит диагностировать сверху вниз — тогда вы придёте к решению, которое вряд ли повторится снова.

Справочные ссылки

Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.

Эти страницы показывают тему статьи в более широком контексте услуг и решений.

Статья напрямую связана со следующими услугами.

Частые вопросы

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

Что значит, что ActiveX по умолчанию отключён в Office 2024 и Microsoft 365?
В Office 2024 и Microsoft 365 элементы управления ActiveX отключены по умолчанию. Если кнопки и формы Excel, а также встроенные объекты Word / PowerPoint, которые раньше работали, после обновления вдруг выглядят «неработающими», причина, как правило, не в поломке программы, а именно в изменении этого значения безопасности по умолчанию. Первый шаг — попробовать нажать «Включить содержимое» на жёлтой панели сообщений при открытии файла и проверить настройки ActiveX в Центре управления безопасностью (Trust Center).
После обновления Office кнопки ActiveX в Excel перестали отвечать. С чего начать проверку?
Причины делятся на три большие группы. Первая — изменения настроек безопасности (Trust Center, отключение ActiveX по умолчанию, защищённый просмотр). Вторая — несовпадение разрядности 32-бит / 64-бит (32-битный элемент управления в 64-битном Office). Третья — проблемы регистрации COM или нехватка зависимых DLL / рантаймов (не выполнен regsvr32, отсутствует рантайм VC++). Быстрее всего проверять в этом порядке, сверху вниз. Заодно сразу зафиксируйте название продукта, номер сборки, разрядность Office и сведения об ОС, и проверьте, отличается ли воспроизведение при открытии файла из локальной папки, а не с сетевого ресурса или из вложения письма.
Почему элемент управления ActiveX не работает только в 64-битном Office?
Потому что разрядность Office и разрядность COM / ActiveX должны совпадать. 32-битный элемент управления не заработает в 64-битном Office. Уточните у поставщика, есть ли версия x64, а если нет — рассмотрите переход на 32-битный Office. Для COM-компонентов на .NET вместо regsvr32 используется RegAsm: для 32-битного Office — RegAsm из Framework, для 64-битного — из Framework64. Классическая ошибка — несовпадение разрядности RegAsm с разрядностью Office: в реестре регистрация выглядит успешной, но Office компонент не находит.
Как настроить постоянное использование ActiveX?
Базовый принцип — не снижать безопасность в целом, а разрешать только то, что действительно нужно, и точечно. Изменение реестра DisableAllActiveX годится исключительно для проверки, а постоянное решение строится на доверенном канале распространения и подписи. Конкретно: подписывайте собственные ActiveX-компоненты / макросы / надстройки, централизованно управляйте доверенными издателями, для Microsoft 365 рассмотрите канал ежемесячных корпоративных обновлений (Monthly Enterprise), где изменения проще отслеживать, и, если поставщик прямо не заявляет о поддержке x64, отдавайте приоритет 32-битному Office. Перед боевым развёртыванием создайте pilot-кольцо и проверяйте фиксированную сборку на репрезентативных документах и машинах.

Об авторе

Страница с профилем автора статьи.

Го Комура

Представитель KomuraSoft LLC

Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.

Публичные ссылки

Вернуться в блог