Office 2024/Microsoft 365: почему не работает ActiveX и как это диагностировать
· Обновлено: · Го Комура · ActiveX, COM, Office, Microsoft 365, 32-бит, 64-бит, Windows, Использование существующих активов
История изменений (1 обновлений, последнее 30 Aug 2026)
Журнал изменений этой статьи. Там, где версия до правки была заархивирована, она остаётся доступной для чтения по постоянной ссылке с DOI.
- Русский текст переписан как полноценный технический перевод, а не калька с японского. Утверждения статьи не менялись.
- Первая публикация
Цитирование статьи(DOI (зарегистрированный архив): 10.5281/zenodo.21619858)
Приведённые ниже DOI относятся к ранее зарегистрированным архивным версиям, которые могут отличаться от текущего текста. Для ссылки на текущий текст используйте URL этой страницы.
Го Комура (2026). Office 2024/Microsoft 365: почему не работает ActiveX и как это диагностировать. KomuraSoft LLC. https://comcomponent.com/ru/blog/2026/04/25/002-office-2024-microsoft-365-activex-troubleshooting/
- DOI (зарегистрированный архив)
- 10.5281/zenodo.21619858
- DOI (последняя зарегистрированная версия)
- 10.5281/zenodo.21619859
1. Что нужно знать в первую очередь
В Office 2024 и Microsoft 365 элементы управления ActiveX отключены по умолчанию. Если кнопки и формы Excel, а также внедрённые объекты Word / PowerPoint, которые раньше работали, после обновления вдруг выглядят «неработающими», причина, как правило, — не поломка программы, а изменение значения безопасности по умолчанию.
Причины делятся на три большие группы.
- Изменение настроек безопасности (Trust Center, отключение ActiveX по умолчанию)
- Несовпадение разрядности 32-бит / 64-бит (в 64-битный Office загружают элемент управления только для 32 бит)
- Проблемы с регистрацией COM или нехватка зависимых DLL / рантаймов (не выполняли regsvr32, нет рантайма VC++)
Практическое правило: быстрее всего идти сверху вниз в этом порядке.
Термины, которые встречаются в статье
Для специалистов ИТ-отдела заранее собираем слова, которые дальше появляются без пояснения.
| Термин | Смысл |
|---|---|
| bitness (разрядность) | 32-битная это редакция или 64-битная. Своя разрядность есть у Office, у Windows и у элемента управления COM / ActiveX, и Office с COM не заработает, пока их разрядность не совпадёт (это отдельно от разрядности Windows) |
| MOTW (Mark of the Web) | Метка «файл пришёл из интернета», которую ставят браузер или почтовый клиент на скачанный файл. Фактически это альтернативный поток данных Zone.Identifier. Если он есть, Office открывает файл в защищённом просмотре и блокирует ActiveX и макросы. Снять метку можно через «Разрешить» в свойствах файла или командой PowerShell Unblock-File |
| kill bit | Механизм, которым хост запрещает запускать элемент управления с конкретным CLSID. В Office это задаётся по CLSID под ключом COM Compatibility. Если запись есть, элемент не заработает, даже когда регистрация COM в порядке |
| Click-to-Run | Текущий способ установки Office. В основе — виртуализованное размещение и автоматические обновления, поэтому сценарии эпохи MSI и расчёт на саморегистрацию часто уже не проходят как есть |
| Trust Center (Центр управления безопасностью) | Экран, где собраны параметры безопасности Office. В русской версии меню он называется «Центр управления безопасностью» |
Как устроена статья
Текст длинный — читайте с того места, которое нужно сейчас. По содержанию это три блока.
| Блок | Главы | Содержание |
|---|---|---|
| Собрать предпосылки | главы 1–3 | Отключение по умолчанию, чем отличаются Office 2024 и Microsoft 365, общая схема диагностики |
| Диагностика сверху вниз | главы 4–9 (шаги 1–6) | Сбор сведений об окружении → Trust Center → режим IE → регистрация COM → зависимые DLL → сбор журналов |
| Шпаргалки и политика | главы 10–15 | Реестр / политики, симптомы и действия, рекомендуемые настройки для организаций, шпаргалка по командам |
Если нужно быстро, начните с главы 11 «Частые симптомы и способы устранения», найдите свой симптом и вернитесь к соответствующему шагу.
На схеме сплошная линия обозначает отношение, которое выполняется всегда, а пунктирная — условное отношение (условия указаны в пояснении к каждому отношению на странице сведений). Полный список отношений (всего 24, с доказательствами и степенью уверенности) и определения основных понятий собраны на странице сведений карты знаний (на японском). Данные: JSON-LD / Turtle
2. Office 2024 и 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 — в переходном периоде»
3. Общая схема диагностики
flowchart TD
A[Воспроизвести симптом] --> B[Собрать название продукта Office, build, bitness и сведения об ОС]
B --> C{Требования поддержки ОС / Office выполнены?}
C -- Нет --> C1[Исправить предпосылки: пересмотреть ОС / редакцию Office / канал]
C -- Да --> D[Проверить Trust Center]
D --> E{Проблема в настройках ActiveX / защищённом просмотре / доверенных документах?}
E -- Да --> E1[Исправить настройки, подпись, схему распространения]
E -- Нет --> F{Зависит от устаревшего Web / IE?}
F -- Да --> F1[Проверить режим IE и список сайтов]
F -- Нет --> G[Проверить CLSID / InprocServer32 / TypeLib]
G --> H{Регистрация COM в порядке?}
H -- Нет --> H1[regsvr32 / RegAsm / переустановка]
H -- Да --> I[Проверить зависимые DLL / .NET / рантайм VC++]
I --> J{Зависимости удовлетворены?}
J -- Нет --> J1[Восстановить и заново распространить нужный рантайм]
J -- Да --> K[Собрать журналы / Procmon / Process Explorer]
K --> L[Проверить различия по сборкам и обновлениям безопасности]
4. Шаг 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
Как читать полученный результат
Сам вывод в каждой среде свой, поэтому ниже — какие столбцы смотреть и как по ним судить.
| Столбец | Содержание | Как судить |
|---|---|---|
Caption |
Название редакции ОС | Windows 10 или 11. Нужно, чтобы проверить требования поддержки |
Version / BuildNumber |
Версия и номер сборки ОС | Говорите этими числами, а не фразой «у нас последняя версия» |
OSArchitecture |
64-битная ОС или 32-битная | Это разрядность ОС. Это не разрядность Office |
Path (со стороны Get-Process) |
Где лежит исполняемый файл Office | На 64-битной Windows путь C:\Program Files (x86)\Microsoft Office\... означает 32-битный Office, путь C:\Program Files\Microsoft Office\... — 64-битный Office |
Если Get-Process не вернул ни одной строки, это значит лишь, что нужное приложение Office не запущено. Откройте его и выполните команду ещё раз. -ErrorAction SilentlyContinue стоит затем, чтобы имена незапущенных процессов не давали ошибку.
Разрядность Office можно посмотреть и из меню приложения. В Excel путь такой: «Файл» → «Учётная запись» → «Сведения о версии Excel». В первой строке открывшегося диалога рядом стоят версия, номер сборки и надпись «32-разрядная» или «64-разрядная». Запишите эту строку как есть: при обращении к поставщику и при воспроизведении разговор сразу становится короче.
Частые ошибки
| Ошибка | Правильный подход |
|---|---|
| Ограничиться фразой «у нас последняя версия» | Проверить номер сборки. В Microsoft 365 различия между каналами существенны |
| Загрузить 32-битный COM / ActiveX в 64-битный Office | Разрядность Office и COM обязана совпадать |
| Считать, что на Windows 10 ничего не сработает | В переходный период всё ещё может работать, но основа нестабильна |
5. Шаг 2 — проверить Trust Center и настройки безопасности
Здесь нужно разделить два случая: «блокируется сам файл» или «не удаётся загрузить сам объект COM».
Чек-лист (по порядку сверху вниз)
| № | Пункт проверки | Где искать | Частая причина |
|---|---|---|---|
| 1 | Панель сообщений ActiveX | Жёлтая панель при открытии файла | Отключено по умолчанию. Проверьте, заработает ли временно после [Включить содержимое] |
| 2 | Trust Center > Параметры ActiveX | [Файл] > [Параметры] > [Центр управления безопасностью] > [Параметры центра управления безопасностью…] > [Параметры ActiveX] | Не стоит ли режим «Отключить все элементы управления без уведомления» |
| 3 | Защищённый просмотр | Trust Center > Защищённый просмотр | Блокируется при открытии с сетевого ресурса или из вложения письма |
| 4 | Доверенные документы | Trust Center > Доверенные документы | После однократного доверия предупреждение больше не появляется, и воспроизведение начинает зависеть от конкретной машины |
| 5 | Надёжные издатели | Trust Center > Надёжные издатели | Даже при наличии подписи доступ не разрешается, если сертификат не распространён |
| 6 | Параметры макросов | Trust Center > Параметры макросов | Макросы и ActiveX — разные настройки, но иногда влияют друг на друга совместно |
Куда смотреть на экране
Вместо скриншотов — положение и порядок действий.
- Панель сообщений: сразу после открытия файла появляется как широкая полоса между лентой и областью правки. Если её закрыли, закройте файл и откройте снова — панель покажется ещё раз.
- Экран параметров ActiveX: даже если дойти до «Файл» → «Параметры» → «Центр управления безопасностью», там видны только пояснение и кнопка. Сами параметры открываются кнопкой «Параметры центра управления безопасностью…»; в открывшемся окне слева в списке выберите «Параметры ActiveX». Если этот шаг пропустить, нужного экрана не будет. В материалах Microsoft включение ActiveX тоже описывается как это изменение настроек, а не как разовая выдача разрешения с панели сообщений.
- Защищённый просмотр / доверенные документы / надёжные издатели: все три пункта стоят в том же левом списке экрана «Параметры центра управления безопасностью». Перед проверкой воспроизведения стоит очистить записи доверенных документов — тогда меньше расхождений между машинами.
Следите за областью действия настроек: параметры ActiveX применяются не только к открытому файлу, а ко всем файлам Word / Excel / PowerPoint / Visio. Это не настройка «разрешить только этот один файл». Если для расследования вы временно ослабили политику, обязательно верните её назад.
Что попробовать в первую очередь
- Скопировать проблемный файл в локальную контролируемую папку (например,
C:\Temp) и сохранить под другим именем - Не открывать файл напрямую с сетевого ресурса или из вложения письма (чтобы исключить влияние защищённого просмотра)
- Запустить Office в безопасном режиме, чтобы исключить влияние надстроек
excel /safe
winword /safe
powerpnt /safe
6. Шаг 3 — проверить зависимость от режима IE
Бывают случаи, когда то, что кажется «обычным сбоем ActiveX», на самом деле вызвано тем, что режим IE в Edge не настроен.
- Режим IE — не общий переключатель браузера, а применяется только к сайтам, зарегистрированным в Enterprise Site List
- Если не работает лишь часть внутренней веб-интеграции, проверьте, входит ли этот сайт в список для режима IE
Проверить это можно здесь:
- Политики Edge: административные шаблоны > Microsoft Edge
- Реестр:
HKLM\SOFTWARE\Policies\Microsoft\Edge - Диагностическая страница:
edge://compat/iediagnostic
7. Шаг 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
Как читать результат проверки
В выводе reg query смотрите три вещи.
- Есть ли ключ. Если ключа нет, ничего не выводится, возвращается только ошибка «не найден». На этом шаге незарегистрированность уже подтверждена.
- Путь к DLL в значении по умолчанию. Это и есть сам объект COM.
- Существует ли файл по этому пути. Часто после удаления или переноса остаётся регистрация, а сам файл уже исчез.
Если нужно дойти до вывода сразу, PowerShell читается проще.
# Подставьте нужный CLSID (указывайте вместе с фигурными скобками)
$clsid = '{00000000-0000-0000-0000-000000000000}'
$key = "HKLM:\SOFTWARE\Classes\CLSID\$clsid\InprocServer32"
if (Test-Path $key) {
$server = Get-ItemPropertyValue -Path $key -Name '(default)'
[pscustomobject]@{
CLSID = $clsid
Server = $server
FileExists = Test-Path $server
}
} else {
Write-Host "Не зарегистрирован: ключ $key не найден"
}
Если FileExists равен False, регистрация осталась, а самого файла уже нет. Нужна переустановка или повторная регистрация.
Не смотрите не ту ветку: когда 32-битный COM регистрируют на 64-битной Windows, фактическая запись попадает в
HKLM\SOFTWARE\Classes\WOW6432Node\CLSID\{CLSID}. Если 64-битный PowerShell илиreg queryсмотрят толькоHKLM\SOFTWARE\Classes\CLSID, это выглядит как «не зарегистрирован». В сбоях 32-битного Office обязательно проверяйте и веткуWOW6432Node.
Для 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 компонент не находит.
8. Шаг 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 или ключ реестра не удалось найти.
Как ставить фильтры, как убирать шум и с каких событий начинать чтение, разобрано по шагам в практическом руководстве по Process Monitor (ProcMon). Если вы упёрлись в сочетание регистрации и разрядности, ту же проблему со стороны разработки разбирает статья «Ловушки регистрации и bitness при разработке COM/OCX/ActiveX».
9. Шаг 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
10. Шпаргалка по ключевым разделам реестра / политик
Четыре пути, которые стоит запомнить
| Назначение | Путь |
|---|---|
| Корень политик 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
Предупреждение: эти настройки предназначены только для проверки. Постоянное решение — «доверенный канал распространения плюс подпись».
11. Частые симптомы и способы устранения
| Симптом | Наиболее вероятная причина | Что попробовать в первую очередь |
|---|---|---|
| Кнопка не отвечает после обновления | 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 | Пересмотреть старые скрипты и подходы, рассчитанные на саморегистрацию |
12. Рекомендуемые настройки для организаций
Базовый принцип постоянного решения — «не снижать безопасность целиком, а разрешать только необходимое, точечно».
| Пункт | Рекомендация |
|---|---|
| Канал обновлений (Microsoft 365) | Для машин с сильной зависимостью от устаревшего ActiveX — Monthly Enterprise Channel (изменения проще отслеживать) |
| Разрядность Office | Если поставщик явно не заявил поддержку x64, приоритет — 32-битному Office |
| Trusted Locations | Доверенные сетевые расположения по умолчанию запрещены. Если нужно — процедура запроса исключения |
| Подпись | Собственные ActiveX / макросы / надстройки должны иметь подпись кода, Trusted Publisher управляются централизованно |
| Режим IE | В Enterprise Site List добавляются только нужные URL (не превращайте всю инфраструктуру в устаревшую) |
| Проверка перед развёртыванием | Перед боевым выпуском создать pilot ring и проверить фиксированную сборку на типичных документах / машинах |
Пример конфигурации развёртывания 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>
13. Крайняя мера — восстановление
- Быстрое восстановление / восстановление через Интернет помогает при повреждении настроек и регистрации
- Однако оно не решает несовпадение x86 / x64 и сами проблемы подписи / политик
- Восстановление делают в последнюю очередь (если сделать его раньше, диагностические журналы будут испорчены)
14. Шпаргалка по командам
| Цель | Команда |
|---|---|
| Запуск в безопасном режиме | 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 |
15. Итог — не перепутайте порядок
Ошибка настройки → несовпадение ОС / разрядности → проблема с объектом COM → зависимости → различия обновлений
Проблема с ActiveX может выглядеть как «просто проблема Excel», но на деле это пересечение пяти слоёв: безопасность Office по умолчанию + требования поддержки Windows + регистрация объекта COM + зависимые рантаймы + модель обновлений. Вместо того чтобы без разбора ослаблять настройки, идите сверху вниз — тогда вы придёте к исправлению, которое с меньшей вероятностью повторится.
Справочные ссылки
- ActiveX controls are disabled by default in Microsoft 365 and Office 2024 — область влияния отключения по умолчанию
- Enable or disable ActiveX settings in Office files — материал, ближе всего к действиям пользователя
- Update history for Office LTSC 2024 and Office 2024 — сравнение сборок, различия до/после обновления
- Overview of update channels for Microsoft 365 Apps — различия между Current / Monthly Enterprise / Semi-Annual
- Release Information for Updates to Microsoft 365 Apps — различия в поведении, связанные с каналом
- Compatibility between the 32-bit and 64-bit versions of Office — критерии решений, когда в деле активы ActiveX / COM
- Режим Internet Explorer в Microsoft Edge — Enterprise Site List и политики
- команда regsvr32 — регистрация / отмена регистрации нативного COM
- Regasm.exe (средство регистрации сборок) — регистрация COM-компонентов на .NET
- Process Monitor (Procmon) — отслеживание NAME NOT FOUND / PATH NOT FOUND
- Process Explorer — состояние загрузки DLL процесса
- Latest supported Visual C++ Redistributable Downloads — где проверить нехватку рантайма VC++
- Руководство по установке .NET Framework — проверка версий .NET Framework
Похожие статьи
Недавние статьи с теми же тегами помогут подробнее изучить близкие темы.
Ловушки регистрации и bitness при разработке COM/OCX/ActiveX
Практический разбор типичных ловушек COM, OCX и ActiveX: разрядность 32/64-бит, Visual Studio 2022, regsvr32 и Regasm, права администрато...
Что такое OLE-объект ── внедрение, связывание и ловушки деловых документов
Таблица Excel внутри Word — это OLE-объект. Разбираем разницу внедрения и связывания, составной файл и структурированное хранилище, In-Pl...
Что продумать перед заказом разработки Windows-приложения
Перед заказом разработки Windows-приложения разберём, что стоит прояснить: доработка существующего ПО, интеграция с оборудованием, COM/Ac...
Странная любовь разработчика, или Как я перестал беспокоиться и полюбил Windows
Windows — штука хлопотная. Но эти хлопоты — как раз от того, что это ОС, которая тащила на себе реальную работу.
Гид по подготовке VBA и внутренних инструментов к отказу от VBScript
Готовимся к поэтапному отказу от VBScript: инвентаризация VBA, макросов Excel и внутренних инструментов, статическое обнаружение, сбор ло...
Связанные темы
Эти страницы показывают тему статьи в более широком контексте услуг и решений.
Технические темы Windows
Раздел о разработке Windows, расследовании сбоев и использовании существующих активов.
Миграция ActiveX
Решения о сохранении, обёртке или замене компонентов COM / ActiveX / OCX.
Услуги по этой теме
Статья напрямую связана со следующими услугами.
Использование и перенос существующих активов
Продление срока службы и миграция активов Excel / Word / PowerPoint / Visio, которые используют компоненты ActiveX / OCX / COM, напрямую пересекаются с темой использования существующих активов и поддержки миграции.
Расследование ошибок и причин
Сбои на стыке Office и COM вроде «кнопка, которая раньше работала, вдруг перестала отвечать» как раз тот случай, когда причину удобно локализовать через Process Explorer / Procmon / журналы Click-to-Run.
Технические консультации и ревью дизайна
Политику конфигурации, которая охватывает разрядность Office, каналы обновлений, Trusted Publisher, режим IE и Enterprise Site List, удобно собирать как ревью архитектуры до развёртывания.
Частые вопросы
Вопросы, которые часто возникают при консультациях по теме статьи.
- Что значит, что ActiveX по умолчанию отключён в Office 2024 и Microsoft 365?
- В Office 2024 и Microsoft 365 элементы управления ActiveX отключены по умолчанию. Если кнопки и формы Excel, а также внедрённые объекты Word / PowerPoint, которые раньше работали, после обновления вдруг выглядят «неработающими», причина, как правило, не в поломке программы, а в изменении этого значения безопасности по умолчанию. Первый шаг — на жёлтой панели сообщений при открытии файла выбрать «Включить содержимое» и проверить, заработает ли временно, затем открыть параметры ActiveX в Центре управления безопасностью (Trust Center).
- После обновления Office кнопки ActiveX в Excel перестали отвечать. С чего начать проверку?
- Причины делятся на три большие группы. Первая — изменения настроек безопасности (Trust Center, отключение ActiveX по умолчанию, защищённый просмотр). Вторая — несовпадение разрядности 32-бит / 64-бит (в 64-битный Office загружают элемент управления только для 32 бит). Третья — проблемы регистрации 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 / макросы / надстройки, централизованно управляйте Trusted Publisher, для Microsoft 365 рассмотрите Monthly Enterprise Channel, где изменения проще отслеживать, и, пока поставщик явно не заявил поддержку x64, отдавайте приоритет 32-битному Office. Перед боевым развёртыванием соберите pilot ring и проверяйте фиксированную сборку на типичных документах и машинах.
Об авторе
Страница с профилем автора статьи.
Го Комура
Представитель KomuraSoft LLC
Специализируется на разработке программного обеспечения для Windows, техническом консалтинге и расследовании сбоев, особенно в проектах с унаследованными системами и трудно воспроизводимыми ошибками.