Office 2024/Microsoft 365でActiveXが動かない原因と確認手順
· 小村 豪 · ActiveX, COM, Office, Microsoft 365, 32bit, 64bit, Windows, 既存資産活用
最初に知っておくべきこと
Office 2024 と Microsoft 365 では、ActiveX コントロールが既定で無効化されています。 以前は動いていた Excel のボタンやフォーム、Word / PowerPoint の埋め込みオブジェクトが更新後に突然「動かない」ように見えるのは、たいてい プログラムの故障ではなく、セキュリティ既定値の変更 が原因です。
原因は大きく3つに分類できます。
- セキュリティ設定の変化(Trust Center、ActiveX 既定無効)
- 32bit / 64bit の不一致(64bit Office に 32bit 専用コントロールを載せている)
- COM 登録や依存 DLL / ランタイムの不足(regsvr32 未実行、VC++ ランタイム欠落)
実務の鉄則: この順番で上から潰すのが最短です。
Office 2024 系 vs Microsoft 365 ── 何が違うのか
| 観点 | Office 2024 系(永続ライセンス) | Microsoft 365 Apps(サブスクリプション) |
|---|---|---|
| 更新モデル | セキュリティ / 品質更新のみ。新機能は追加されない | チャネル単位で継続的に機能更新される |
| ActiveX の既定値 | 既定無効 | 既定無効(同じ) |
| レジストリ / ポリシーのパス | 16.0 のまま | 16.0 のまま |
| 対応 OS(2026 年時点) | Windows 11、Server 2025 / 2022、Win10 LTSC | Windows 11、Server 2025 / 2022 が正式要件。Win10 は 2028 年 10 月まで移行猶予 |
| インストール方式 | Click-to-Run(MSI ではない) | Click-to-Run |
重要: レジストリパスは Office 2024 でも 16.0 のままです。「2024 だから 24.0 を探す」は典型的な遠回りです。
Windows 10 での注意点
Windows 10 の一般サポートは 2025 年 10 月 14 日に終了 しています。ただし Microsoft 365 Apps は Windows 10 上でも 2028 年 10 月 10 日まで セキュリティ更新が提供される移行猶予期間中です。つまり次のような状態です。
- 「Windows 10 では完全に動かない」わけではない
- 「OS はサポート切れ、Apps は猶予中」の二重前提で運用している状態
トラブルシューティングの全体像
flowchart TD
A[症状を再現] --> B[Office の製品名・build・bitness・OS 情報を採取]
B --> C{OS / Office のサポート前提は OK?}
C -- NG --> C1[前提修正: OS / Office エディション / チャネル見直し]
C -- OK --> D[Trust Center を確認]
D --> E{ActiveX 設定 / 保護ビュー / 信頼済みドキュメントに問題?}
E -- あり --> E1[設定・署名・配布設計を修正]
E -- なし --> F{レガシー Web / IE 前提?}
F -- はい --> F1[IE モードとサイトリストを確認]
F -- いいえ --> G[CLSID / InprocServer32 / TypeLib を確認]
G --> H{COM 登録は正常?}
H -- NG --> H1[regsvr32 / RegAsm / 再インストール]
H -- OK --> I[依存 DLL / .NET / VC++ ランタイムを確認]
I --> J{依存関係は満たしている?}
J -- NG --> J1[該当ランタイムを修復・再配布]
J -- OK --> K[ログ採取 / Procmon / Process Explorer]
K --> L[build 差分・セキュリティ更新差分を確認]
Step 1 ── 環境情報を採取する
まず以下の情報を必ず記録します。感覚ではなく 数値 で判断するためです。
Office 側
- [ファイル] → [アカウント] → [製品情報] で確認
- 製品名(Office 2024 / Microsoft 365 の別)
- バージョンと ビルド番号(最重要)
- インストール種別(Click-to-Run)
- [Excel のバージョン情報] / [Word のバージョン情報] などの製品情報ダイアログで 32bit / 64bit を確認
Windows 側
# OS の基本情報
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 はチャネル差分が大きい |
| 64bit Office に 32bit 専用 COM / ActiveX を載せる | Office の bitness と COM の bitness は一致必須 |
| Windows 10 だからダメだと思い込む | 移行猶予中のため動く場合もあるが、前提が不安定 |
Step 2 ── Trust Center とセキュリティ設定を確認する
ここでやるのは、「ファイル自体がブロックされているのか」、それとも 「COM 実体の読み込みに失敗しているのか」 の切り分けです。
チェックリスト(上から順に)
| # | 確認項目 | 確認場所 | よくある原因 |
|---|---|---|---|
| 1 | ActiveX メッセージバー | ファイルを開いたときの黄色いバー | 既定無効。[コンテンツの有効化] で一時的に動くか試す |
| 2 | Trust Center > ActiveX 設定 | [ファイル] > [オプション] > [セキュリティ センター] | 「通知なしにすべて無効」になっていないか |
| 3 | 保護ビュー | Trust Center > 保護ビュー | ネットワーク共有やメール添付から開くとブロックされる |
| 4 | 信頼済みドキュメント | Trust Center > 信頼済みドキュメント | 一度 trust されると警告が出なくなり再現が端末依存になる |
| 5 | 信頼できる発行元 | Trust Center > 信頼できる発行元 | 署名があっても証明書が配布されていないと許可されない |
| 6 | マクロ設定 | Trust Center > マクロ設定 | マクロと ActiveX は別設定だが複合的に影響することがある |
最初に試すこと
- 問題のファイルを ローカルの管理されたフォルダ(例:
C:\Temp)にコピーし、別名で保存 - ネットワーク共有やメール添付から直接開くのを避ける(保護ビューの影響を排除)
- Office を セーフモード で起動してアドインの影響を切り分ける
excel /safe
winword /safe
powerpnt /safe
Step 3 ── IE モード依存かどうかを確認する
「通常の ActiveX 障害」だと思っていたら、実は Edge の IE モード未構成 が原因というケースがあります。
- IE モードはブラウザ全体のスイッチではなく、Enterprise Site List に登録したサイトだけ に適用される
- 社内 Web 連携の一部だけが動かない場合は、そのサイトが IE モード対象になっているか確認する
確認先は次のとおりです。
- Edge ポリシー: 管理用テンプレート > Microsoft Edge
- レジストリ:
HKLM\SOFTWARE\Policies\Microsoft\Edge - 診断ページ:
edge://compat/iediagnostic
Step 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
.NET 製 COM の場合(重要)
.NET アセンブリに regsvr32 は使えません。RegAsm を使います。
:: 32bit Office on 64bit Windows → Framework の RegAsm を使う
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb
:: 64bit Office → Framework64 の RegAsm を使う
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb
典型的な事故: 「RegAsm の bitness が Office の bitness と揃っていない」 → レジストリ上は登録成功でも Office からは見つからない。
Step 5 ── 依存 DLL / ランタイムを確認する
「本体 DLL はあるのにロードされない」場合は、依存先が不足している ケースが多いです。
実務で頻発する不足ランタイム
| 不足しがちなもの | 確認方法 |
|---|---|
| Visual C++ 再頒布可能パッケージ(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 やレジストリキーが見つからなかったかが一目でわかります。
Step 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
主要レジストリ / ポリシー早見表
覚えるべき4つのパス
| 用途 | パス |
|---|---|
| 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 |
| Office COM kill bit | HKLM\Software\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID} |
32bit Office on 64bit Windows では、COM 関連は
Wow6432Node配下も確認すること。
よく使うテスト用レジストリ(検証専用)
Windows Registry Editor Version 5.00
; テスト専用: ActiveX 一括無効を解除
[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]
"DisableAllActiveX"=dword:00000000
警告: これらの設定は検証専用です。恒久対応は「信頼できる配布経路と署名」で行ってください。
よくある症状と対処法
| 症状 | 最も可能性が高い原因 | 最初に試すこと |
|---|---|---|
| 更新後にボタンが無反応 | ActiveX 既定無効 | メッセージバー → [コンテンツの有効化] → Trust Center 確認 |
| 64bit Office でのみ失敗 | 32bit 専用 COM / ActiveX | ベンダーに x64 版の有無を確認。なければ Office 32bit に切り替え |
| 特定 PC だけ動かない | COM 未登録 / 登録破損 | reg query で CLSID 確認 → regsvr32 で再登録 |
| DLL はあるのにロードされない | 依存 DLL / VC++ ランタイム不足 | Procmon で NAME NOT FOUND を追跡 |
| ネットワーク共有やメール添付で失敗 | 保護ビュー / MOTW | ローカルフォルダにコピーして再現差を確認 |
| 社内 Web 連携の一部だけ失敗 | IE モード未構成 | Enterprise Site List に対象サイトを追加 |
| 署名済みなのに許可されない | 証明書未配布 / 信頼できる発行元未登録 | コード署名の有効性と証明書配布を確認 |
| MSI 時代の導入手順を流用して挙動が変わる | Click-to-Run 前提への移行 | 旧スクリプトや自己登録前提の設計を見直し |
企業向け推奨設定
恒久対策の基本は 「全体のセキュリティを下げる」ではなく「必要な対象だけを限定的に許可する」 ことです。
| 項目 | 推奨 |
|---|---|
| 更新チャネル(Microsoft 365) | legacy ActiveX 依存が強い端末は 月次エンタープライズ チャネル(変化点が読みやすい) |
| Office bitness | ベンダーが x64 対応を明言していない限り、Office 32bit を優先検討 |
| Trusted Locations | ネットワーク上の信頼できる場所は 原則禁止。必要時は例外申請方式 |
| 署名 | 自社配布 ActiveX / マクロ / アドインは コード署名 し、Trusted Publisher を一元管理 |
| IE モード | 必要な URL だけ Enterprise Site List に登録(全体のレガシー化は避ける) |
| 展開前検証 | 本番配布前に pilot ring を作り、代表帳票 / 代表端末で build 固定検証 |
Microsoft 365 の展開設定例(32bit + 月次エンタープライズ)
<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 登録 (32bit Office) | Framework\v4.0.30319\RegAsm.exe xxx.dll /codebase /tlb |
| .NET COM 登録 (64bit 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 |
まとめ ── 潰す順番を間違えない
設定ミス → OS / bitness の不一致 → COM 実体問題 → 依存関係 → 更新差分
ActiveX のトラブルは「Excel だけの問題」に見えても、実際には Office の既定セキュリティ + Windows のサポート前提 + COM 実体登録 + 依存ランタイム + 更新モデル の5層が交差する問題です。闇雲に設定を緩める前に、上から順に切り分ければ、再発しにくい修復にたどり着けます。
参考リンク
- 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 ─ build 比較、更新前後差分
- 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 資産が絡むときの判断基準
- Microsoft Edge での Internet Explorer モード ─ Enterprise Site List とポリシー
- regsvr32 コマンド ─ ネイティブ COM の登録 / 解除
- Regasm.exe (アセンブリ登録ツール) ─ .NET 製 COM の登録
- Process Monitor (Procmon) ─ NAME NOT FOUND / PATH NOT FOUND の追跡
- Process Explorer ─ プロセスの DLL ロード状況
- Latest supported Visual C++ Redistributable Downloads ─ VC++ ランタイム不足の確認先
- .NET Framework インストール ガイド ─ .NET Framework のバージョン確認
関連する記事
同じタグを共有する最新の記事です。さらに近い話題で知識を深められます。
Windowsアプリ 外注・受託開発を依頼する前に整理したいこと
Windowsアプリの外注・受託開発を依頼する前に、既存ソフト改修、装置連携、COM/ActiveX、配布・更新、保守の整理ポイントを解説します。
COM/OCX/ActiveX開発でハマる登録とbitnessの罠
COM、OCX、ActiveX開発でハマりやすい32bit/64bit、Visual Studio 2022、regsvr32/Regasm、管理者権限、HKCR、STA/MTAを実務目線で整理します。
開発者の異常な愛情、または私は如何にして心配するのをやめてWindowsを愛するようになったか
Windowsは面倒くさい。けれど、その面倒くささは、現実の業務を背負ってきたOSだからこその面倒くささでもある。
VBScript廃止に備えるVBA・社内ツール点検ガイド
VBScript段階廃止に備え、VBA・Excelマクロ・社内ツールの棚卸し、静的検出、実行ログ、代替技術選定、テスト、段階展開を整理します。
32bitアプリから64bit DLLを呼ぶCOMブリッジ実例
32bit アプリから 64bit DLL を直接呼び出せないときに、COM ブリッジで連携する考え方を、Windows の制約、構成、処理の流れとあわせて整理します。
関連トピック
このテーマと近いトピックページです。記事を起点に、関連するサービスや他の記事へ進めます。
Windows技術トピック
Windows 開発、不具合調査、既存資産活用の技術トピックをまとめた入口です。
ActiveX / 移行テーマ
COM / ActiveX / OCX を残すか、包むか、置き換えるかを整理するトピックです。
32bit / 64bit テーマ
32bit / 64bit、ネイティブ連携、C++/CLI まわりを整理するトピックです。
このテーマがつながるサービス
この記事は次のサービスページにつながります。近い入口からご覧ください。
既存資産活用・移行支援
ActiveX / OCX / COM コンポーネントを使った Excel / Word / PowerPoint / Visio 資産の延命と移行は、既存資産活用と移行支援のテーマと直接重なるからです。
不具合調査・原因解析
「以前は動いたボタンが急に無反応」のような Office × COM 起因の不具合は、Process Explorer / Procmon / Click-to-Run ログを使った原因切り分けが向いているテーマだからです。
技術相談・設計レビュー
Office bitness、更新チャネル、Trusted Publisher、IE モード、Enterprise Site List までを含む構成方針は、配布前の設計レビューとして整理しやすいからです。
著者プロフィール
記事の著者プロフィールページです。
小村 豪
合同会社小村ソフト 代表
Windows ソフト開発、技術相談、不具合調査を中心に、既存資産が残る案件や原因が見えにくい障害調査に強みがあります。
公開リンク