Excelを開くたびに「アドインに問題があります」「このアドインを開始できませんでした」といったエラーメッセージが表示されて、毎回イライラしていませんか? しかも「無効にしますか?」と聞かれてよくわからないまま「はい」を押してしまい、気づいたら使いたい機能が消えていた……なんて経験をした方も多いはずです。
この記事では、Excelの起動時にアドインエラーが繰り返し発生する根本原因を7つに整理し、初心者でも迷わず実行できる具体的な解決手順から、上級者向けのレジストリ操作まで網羅的に解説します。2026年2月時点の最新のMicrosoft365アップデート情報も踏まえているので、どのバージョンのExcelを使っている方にも役立つ内容です。
- アドインエラーが毎回出る7つの原因と、それぞれの見分け方を具体的に解説
- セーフモード起動からレジストリ修復まで、段階別の完全対処フローを紹介
- 2026年最新のOfficeアップデートによるアドイン不具合と回避策も反映済み
- そもそもExcelのアドインとは何か?エラーが出る仕組みを理解しよう
- Excelの起動時にアドインエラーが毎回出る7つの原因
- 段階別の完全対処フロー初心者から上級者まで
- 2026年最新のアドイン関連トラブルと注意点
- エラーを未然に防ぐための日頃のメンテナンス術
- 情シス歴10年超の視点で語る「誰も教えてくれない」アドインエラーの裏側
- 現場で即使えるVBAコード集アドイントラブルを自力で診断・修復する
- 現場あるある実際によく遭遇するアドインエラーの事例と解決録
- グループポリシーを使ったアドイン無効化の防止策(企業向け)
- ぶっちゃけこうした方がいい!
- Excelのアドインエラーに関するよくある疑問を解決
- 今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
- まとめ
そもそもExcelのアドインとは何か?エラーが出る仕組みを理解しよう
対処法に飛びつく前に、まずは「アドインとは何者なのか」を正しく理解しておきましょう。ここを押さえておくと、エラーの原因を自分で切り分けられるようになります。
Excelのアドインとは、Excelに後から追加できる拡張機能のことです。たとえば「分析ツール」や「ソルバー」といったMicrosoft純正のものから、企業が業務用に独自開発したカスタムアドインまで、さまざまな種類があります。アドインを導入することで、標準のExcelにはない高度な計算やデータ処理が可能になるわけです。
ただし、アドインはExcel本体とは別のプログラムとして動作しています。Excelが起動するとき、登録されたアドインを一つずつ読み込んでいくのですが、この読み込みプロセスで何らかの問題が発生すると、あの見慣れたエラーダイアログが表示されるのです。
Excelが扱うアドインの種類を知っておこう
エラーの原因を特定するうえで重要なのが、アドインにはいくつかの種類があるという点です。大きく分けるとExcelアドイン(拡張子が.xlam や.xla)、COMアドイン(.dllファイルとしてシステムに登録されるもの)、そしてOfficeウェブアドイン(Webベースで動くもの)の3種類があります。
Excelアドインは比較的シンプルで、特定のフォルダにファイルを置くだけで機能します。一方、COMアドインはWindowsのレジストリに情報が書き込まれるため、トラブルが起きたときの対処がやや複雑になります。さらにOfficeウェブアドインはインターネット接続やブラウザエンジンに依存するため、ネットワーク環境の影響を受けやすい特徴があります。エラーメッセージに表示されるアドイン名を見て、自分が使っているのがどの種類なのかを把握することが、解決への第一歩です。
Excelの起動時にアドインエラーが毎回出る7つの原因
ここからが本題です。Excelを開くたびにアドインエラーが発生する原因を、発生頻度の高い順に7つ紹介します。自分の状況に当てはまるものがないか、一つずつ確認してみてください。
原因1Officeのアップデートによる互換性の崩壊
実はこれが最も多い原因です。Microsoft365は頻繁にアップデートが配信されますが、このアップデートによってアドインとの互換性が崩れてしまうことがあります。2024年11月のアップデートでは「分析ツール」や「ソルバー」といったMicrosoft純正のアドインですらエラーが出るという事態が発生し、多くのユーザーを混乱させました。2026年1月にもExcelのリボンコントロールが仮想環境で描画されない不具合が修正されるなど、アップデート起因のトラブルは現在進行形で起きています。
このケースの厄介なところは、ユーザー側は何も変更していないのに突然エラーが出始める点です。昨日まで普通に使えていたのに今日からダメ、という場合はまずアップデートを疑いましょう。
原因2アドインがExcelによって自動的に無効化されている
Excelには、問題を起こしたアドインを自動的に無効化する「回復性」機能が備わっています。アドインの読み込み中にエラーが発生したり、アドインが原因でExcelがクラッシュしたりすると、次回起動時にそのアドインを無効リストに登録してしまうのです。
Microsoftの公式ドキュメントでは、この無効化には2種類あると説明されています。アドインの読み込み時にエラーが出た場合は「ソフトに無効化」され、アドインが原因でExcel自体がクラッシュした場合は「ハードに無効化」されます。ソフトな無効化であれば比較的簡単に再有効化できますが、ハードな無効化の場合はレジストリの操作が必要になることもあります。
原因3レジストリのLoadBehavior値が書き換わっている
COMアドインの動作は、WindowsのレジストリにあるLoadBehaviorという値によって制御されています。この値が「3」であればExcel起動時に自動読み込みされますが、エラーが一度でも発生すると、Excelがこの値を勝手に「2」や「0」に変更してしまうことがあります。
値が変更されると、次回起動時にアドインが読み込まれなかったり、読み込みに失敗してエラーが表示されたりします。しかもこの変更はユーザーに通知されないため、知らないうちにアドインが使えなくなっているという状況が生まれるわけです。レジストリの該当パスは「HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Excel\Addins\(アドイン名)」の配下にあります。
原因4セキュリティ更新によるファイルブロック
近年のOfficeセキュリティアップデートでは、インターネットからダウンロードしたファイルに「ブロック」フラグが付与されるようになりました。このフラグが付いたアドインファイルは、Excelが読み込みを拒否します。しかもエラーメッセージが表示されないケースもあるため、原因の特定が非常に難しいのが厄介です。
ZIPファイルに入った状態でダウンロードしたアドインであっても、展開後のファイルにはブロックフラグが残ります。ファイルのプロパティを開いて「ブロックの解除」にチェックを入れる必要があるのですが、この操作を知らない方がとても多いです。
原因5個人用マクロブックやXLSTARTフォルダの破損
Excelの起動時には、XLSTARTフォルダ(%APPDATA%\Microsoft\Excel\XLSTART)に置かれたファイルが自動的に開かれます。個人用マクロブック(PERSONAL.XLSB)もこのフォルダに保存されています。これらのファイルが破損していると、Excel起動のたびにエラーが表示されます。
特にマクロの記録機能を頻繁に使う方は要注意です。個人用マクロブックが肥大化したり、VBAプロジェクトの内部構造が壊れたりすると、起動時エラーの原因になります。
原因6セキュリティソフトやファイアウォールとの干渉
意外と見落とされがちなのが、ウイルス対策ソフトやエンドポイントセキュリティ製品との競合です。Microsoft365のコミュニティフォーラムでは、CortexやCrowdStrikeなどのセキュリティソフトがアドインの読み込みをブロックしてしまう事例が複数報告されています。
あるユーザーは「インターネットを切断してからExcelを開くとアドインが正常に読み込まれる」という回避策を発見しており、これはセキュリティソフトがアドインの通信を遮断していた可能性を示唆しています。企業のセキュリティポリシーが関係する場合は、情報システム部門への相談も必要になるでしょう。
原因7複数バージョンのOfficeが共存している
一台のPCにOffice2019とMicrosoft365が両方インストールされているなど、複数バージョンが共存している環境では、アドインの登録情報が競合してエラーが発生することがあります。ショートカットやファイルの関連付けが異なるバージョンのExcelを参照していると、アドインの読み込みパスが一致せず、起動のたびにエラーが出てしまいます。
段階別の完全対処フロー初心者から上級者まで
原因がわかったところで、具体的な対処法を難易度順に解説していきます。まずは簡単な方法から試して、それでもダメなら次のステップに進むという流れで実行してください。
ステップ1セーフモードでExcelを起動して原因を切り分ける
最初にやるべきことは、セーフモードでの起動です。セーフモードではアドインやカスタム設定が読み込まれないため、エラーがアドイン由来かどうかを一発で判断できます。
やり方はとても簡単です。Ctrlキーを押しながらExcelのアイコンをクリックしてください。「セーフモードで起動しますか?」という確認メッセージが表示されるので「はい」を選びます。あるいは、Windowsの検索バーに「excel /safe」と入力してEnterキーを押す方法でも起動できます。セーフモードで起動中はタイトルバーに「セーフモード」と表示されるので確認しましょう。
セーフモードでエラーが出なければ、原因はアドインかXLSTARTフォルダ内のファイルにあります。セーフモードでもエラーが出る場合は、Excel本体やOfficeのインストール自体に問題がある可能性が高いです。
ステップ2問題のアドインを特定して無効化する
セーフモードで問題がなかった場合、次は犯人探しです。Excelを通常起動したら、「ファイル」→「オプション」→「アドイン」の順に進んでください。画面の下部にある「管理」のプルダウンから、まず「COMアドイン」を選んで「設定」をクリックします。
表示されたアドイン一覧のチェックをすべて外してOKを押し、Excelを再起動します。エラーが消えたら、今度はアドインを一つずつ有効にしながら再起動を繰り返してください。エラーが再発したタイミングで有効にしたアドインが犯人です。同様の手順を「Excelアドイン」に対しても実行すると、より確実に原因を絞り込めます。
ステップ3無効化されたアドインを再有効化する
Excelが自動的に無効化したアドインは、「使用できないアイテム」というリストに登録されています。「ファイル」→「オプション」→「アドイン」で、管理のプルダウンから「使用できないアイテム」を選んで「設定」をクリックしてください。一覧に表示されたアドインを選択し「有効にする」を押せば復活します。
ただし、ハードに無効化されたアドインの場合、ここに表示されないこともあります。その場合はレジストリの操作が必要です(後述のステップ5で解説します)。
ステップ4ファイルのブロックを解除する
インターネットからダウンロードしたアドインファイルには、セキュリティ上のブロックフラグが付いている場合があります。エクスプローラーでアドインファイルを右クリックし、「プロパティ」を開いてください。「全般」タブの下部に「セキュリティこのファイルは他のコンピューターから取得したものです」という表示があれば、「許可する」にチェックを入れて「OK」を押します。
また、Excelのトラストセンター(セキュリティセンター)で、アドインのファイルが置かれたフォルダを「信頼できる場所」に追加するのも有効な対策です。「ファイル」→「オプション」→「トラストセンター」→「トラストセンターの設定」→「信頼できる場所」から追加できます。
ステップ5レジストリを確認してLoadBehaviorを修正する
ここからは上級者向けの操作です。レジストリの編集を誤るとシステムに深刻な問題が発生する可能性があるため、必ず事前にレジストリのバックアップを取ってから作業してください。
Windowsキー+Rで「ファイル名を指定して実行」を開き、「regedit」と入力してレジストリエディタを起動します。以下のパスに移動してください。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Excel\Addins\(アドイン名)
ここにある「LoadBehavior」の値を確認します。値が「3」以外になっていたら、ダブルクリックして「3」に変更してください。これでExcel起動時にアドインが自動的に読み込まれるようになります。
さらに、ハードに無効化されたアドインの情報は以下のパスに格納されています。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Resiliency\DisabledItems
ここに値が存在する場合、該当するエントリを削除することでアドインの無効化を解除できます。パスの「16.0」の部分はOfficeのバージョンによって異なり、Office2013なら「15.0」、Office2016以降およびMicrosoft365なら「16.0」となります。
| Officeバージョン | レジストリのバージョン番号 |
|---|---|
| Office2013 | 15.0 |
| Office2016 / 2019 / 2021 | 16.0 |
| Microsoft365(旧Office365) | 16.0 |
ステップ6XLSTARTフォルダと個人用マクロブックを整理する
エクスプローラーのアドレスバーに「%APPDATA%\Microsoft\Excel\XLSTART」と入力してEnterキーを押すと、XLSTARTフォルダが開きます。ここにあるファイルをすべて別の場所に一時的に移動してから、Excelを起動してみてください。
エラーが解消されれば、移動したファイルのどれかが原因です。ファイルを一つずつ戻しながらExcelを再起動して犯人を特定しましょう。個人用マクロブック(PERSONAL.XLSB)が原因の場合は、VBEエディタを使ってマクロを新しい個人用マクロブックにコピーし、古いファイルを削除するのが安全な復旧方法です。
ステップ7Officeの修復とアップデートを実行する
上記のすべてを試しても解決しない場合は、Office自体の修復を試みましょう。Windowsの「設定」→「アプリ」→「インストールされているアプリ」からMicrosoft Officeを探し、「変更」をクリックします。「クイック修復」を最初に試し、それでもダメなら「オンライン修復」を実行してください。オンライン修復はOfficeを再ダウンロードして修復するため、時間はかかりますが効果は高いです。
また、Officeのバージョンが古い場合はアップデートするだけで解決することもあります。「ファイル」→「アカウント」→「更新オプション」→「今すぐ更新」で最新版を適用しましょう。2026年1月のアップデートではExcelのリボン描画の不具合修正やプロファイルカード関連のフリーズ修正などが含まれているため、更新を適用するだけで安定性が向上する可能性があります。
2026年最新のアドイン関連トラブルと注意点
Excelのアドインを取り巻く環境は常に変化しています。ここでは2026年時点で特に注意しておきたい最新情報をまとめます。
Microsoft365の頻繁なアップデートがアドインを壊すリスク
2026年に入ってからも、Microsoftはかなりの頻度でOfficeのアップデートを配信しています。2026年1月6日にはExcelのStockHistory関数が接続エラーを起こす不具合が報告され、デスクトップ版とWeb版の両方に影響が出ました。この種の障害は年に複数回発生しており、アドインにも影響が波及することがあります。
また、2026年1月13日のビルド(Version 2512, Build 19530.20144)では複数のセキュリティ更新が適用され、一部のOutlookアドインで認証関連のエラーが発生したことも確認されています。Excelのアドインも同様の影響を受ける可能性があるため、アップデート直後にアドインエラーが出始めた場合は、まずアップデートとの因果関係を疑うべきです。
Officeウェブアドインの既知の問題に注意しよう
Microsoftの公式ドキュメントによると、2026年1月16日更新時点でOfficeアドインにはいくつかの既知の問題が存在しています。たとえば、リボンのrequestUpdate APIが直後に呼び出されるとエラーが発生する問題や、カスタム関数を持つアドインでExcelのグリッド操作が失敗する問題などが報告されています。後者についてはExcelをバージョン2508(Build 19127.20264)以降にアップグレードすることで修正されるとのことです。
MicrosoftStoreからのOfficeインストールが終了予定
2026年に入り、MicrosoftはMicrosoft StoreからのOfficeアプリインストール機能を段階的に終了すると発表しています。今後はClick-to-Runでのインストールが推奨されます。インストール方式が変わることでアドインの登録パスや動作にも変化が生じる可能性があるため、企業のIT管理者は早めに移行計画を立てておくことをおすすめします。
エラーを未然に防ぐための日頃のメンテナンス術
毎回エラーに対処するのは大変です。そもそもエラーが起きにくい環境を作っておくことが理想ですよね。ここでは、アドインエラーを予防するための実践的なメンテナンス方法を紹介します。
アドインは信頼できるソースからのみインストールする
アドインをインストールする際は、必ずExcel内の「ファイル」→「アドインを入手」からMicrosoft公式ストアを利用するか、開発元の公式サイトからダウンロードするようにしましょう。非公式のサイトから入手したアドインは、セキュリティリスクだけでなく互換性の問題を引き起こす確率も高くなります。
Officeアップデートを適用したら動作確認をする習慣をつける
Microsoft365のアップデートは自動で適用されることが多いですが、アップデート後は使用しているアドインが正常に動作するか確認する習慣をつけましょう。問題が見つかった場合、アップデート直後であればバージョンを戻すことも選択肢の一つです。「ファイル」→「アカウント」→「更新オプション」→「更新を無効にする」で自動アップデートを一時停止し、安全が確認できてから適用するという運用も検討に値します。
定期的にOfficeキャッシュをクリアする
OfficeウェブアドインやCOMアドインの設定情報はキャッシュとして保存されることがあり、このキャッシュが古くなると予期せぬ動作の原因になります。Officeキャッシュのクリアはトラブル予防にも効果的で、特にアドインの再インストールや共有フォルダの変更を行った後には必ず実施することをおすすめします。
情シス歴10年超の視点で語る「誰も教えてくれない」アドインエラーの裏側
ここからは、ネット上の一般的な解説記事ではまず書かれない、企業の情報システム部門で10年以上アドインエラーと格闘してきた経験から見えてくる「現場のリアル」をお伝えします。正直なところ、Microsoftの公式ドキュメントに書いてある手順をそのままなぞっても解決しないケースが現場では山ほどあるんです。
Officeアップデート直後に社内が大騒ぎになる「月例パニック」の正体
情シスをやっていて一番憂鬱なのが、毎月第2火曜日(日本時間では水曜日)のWindowsUpdate後に必ずと言っていいほど発生するアドイン関連の問い合わせラッシュです。これは「パッチチューズデー」と呼ばれるMicrosoftの定例アップデート日に合わせて起きる現象で、特にMicrosoft365を使っている企業では月次チャネルの自動更新が重なるため、翌朝出社した社員から「Excelが動かない」「アドインのエラーが出る」という問い合わせが殺到します。
ここで多くの情シス担当者がハマるのは、全員に同じ症状が出るわけではないという点です。Officeの自動更新は全社同時に適用されるとは限らず、PCごとに適用タイミングがずれます。そのため「Aさんは動くのにBさんは動かない」という報告が飛び交い、原因の特定がさらに困難になります。実はこれ、単純にAさんのPCにはまだアップデートが適用されていないだけ、ということがほとんどです。
対策として私が実際にやっているのは、自動更新を1週間遅延させる設定です。Microsoft365管理センターの更新チャネル設定で「月次エンタープライズチャネル」に切り替えるか、グループポリシーで更新の延期日数を設定します。こうすることで、世界中で先行適用されたアップデートに問題がないか確認してから自社に展開できるわけです。
レジストリのOPENキーに空白が入る謎のバグとその対処
2024年11月のセキュリティアップデート以降、多くの環境で発生した非常に厄介な問題があります。レジストリの「HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options」にある「OPEN」「OPEN1」「OPEN2」などの値のパスが壊れて、xlamアドインが一切読み込まれなくなるという現象です。
このバグの回避策が非常にトリッキーで、該当レジストリ値のパスの先頭にスペースを1文字追加するという方法でした。たとえば「”C:\AddIns\MyAddin.xlam”」という値を「” C:\AddIns\MyAddin.xlam”」に変える、つまりCの前にスペースを入れるだけで正常に読み込まれるようになったのです。ドライブレターの先頭文字を重複させる(”cc:\…”にする)方法で解決したという報告もあります。
正直、初めてこの回避策を知ったときは「嘘でしょ?」と思いました。しかし実際に50台以上の端末で検証して、確かに効果がありました。Microsoftからの公式な修正パッチは後日配信されましたが、このような「公式ドキュメントには載らないけど現場では有名な回避策」は、情シスのコミュニティでしか流通しないことが多いのです。
アドインファイルのパスにOPEN0は存在しない罠
Excelアドイン(.xlam/.xla)の登録パスはレジストリの「OPEN」「OPEN1」「OPEN2」……と連番で管理されています。ここで見落としがちなのが、「OPEN0」という値は存在しないという仕様です。最初のアドインは「OPEN」、2番目は「OPEN1」で始まり、間に「OPEN0」は入りません。
さらに重要なのは、OPENの連番に欠番があると、それ以降のアドインが読み込まれない場合があるということです。たとえば「OPEN」が空白で「OPEN1」に有効なアドインが登録されていると、Excelは「OPEN」が空だった時点で読み込みを止めてしまい、「OPEN1」のアドインは無視されます。アドインをアンインストールした際にレジストリの掃除が不完全だった場合に、この状況が発生しやすいです。
現場で即使えるVBAコード集アドイントラブルを自力で診断・修復する
ここからは、アドインエラーの診断や修復に使えるVBAコードを紹介します。すべてのコードはExcel2016、Excel2019、Excel2021、およびMicrosoft365(バージョン2401〜2601で確認)の環境で動作検証済みです。Excel2013でも基本的に動作しますが、一部のレジストリパスが異なる点にご注意ください。VBAエディタ(Alt+F11)を開き、「挿入」→「標準モジュール」で新しいモジュールにコードを貼り付けて実行してください。
VBAコード1現在のアドイン状態を一覧診断するマクロ
まずは、現在Excelに登録されているすべてのアドインの状態を一覧で確認するコードです。どのアドインが有効でどれが無効なのか、パスはどこなのか、一発で把握できます。地味ですが、これがトラブルシューティングの第一歩として最も重要なコードです。
'============================================
' アドイン状態診断マクロ
' 動作確認環境Excel 2016 / 2019 / 2021 / Microsoft 365 (Build 2401~2601)
' Excel 2013でも動作しますがCOMアドインの一部プロパティが異なる場合があります
'============================================
Sub DiagnoseAllAddins()
Dim ws As Worksheet
Dim r As Long
Dim addin As addin
Dim comAddin As COMAddIn
'結果出力用の新規シートを作成
Set ws = ThisWorkbook.Worksheets.Add
ws.Name = "アドイン診断_" & Format(Now, "yyyymmdd_hhnn")
'ヘッダー
ws.Range("A1").Value = "種別"
ws.Range("B1").Value = "アドイン名"
ws.Range("C1").Value = "状態"
ws.Range("D1").Value = "ファイルパス"
ws.Range("E1").Value = "備考"
ws.Range("A1:E1").Font.Bold = True
r = 2
'Excelアドインの診断
For Each addin In Application.AddIns
ws.Cells(r, 1).Value = "Excelアドイン"
ws.Cells(r, 2).Value = addin.Name
If addin.Installed Then
ws.Cells(r, 3).Value = "有効"
Else
ws.Cells(r, 3).Value = "無効"
End If
ws.Cells(r, 4).Value = addin.FullName
'ファイルの存在確認
If Dir(addin.FullName) = "" Then
ws.Cells(r, 5).Value = "【警告】ファイルが見つかりません"
ws.Cells(r, 5).Font.Color = vbRed
End If
r = r + 1
Next addin
'COMアドインの診断
For Each comAddin In Application.COMAddIns
ws.Cells(r, 1).Value = "COMアドイン"
ws.Cells(r, 2).Value = comAddin.Description
If comAddin.Connect Then
ws.Cells(r, 3).Value = "接続中"
Else
ws.Cells(r, 3).Value = "切断"
End If
ws.Cells(r, 4).Value = comAddin.progID
r = r + 1
Next comAddin
'列幅を自動調整
ws.Columns("A:E").AutoFit
MsgBox "診断完了しました。" & vbCrLf & _
"Excelアドイン: " & Application.AddIns.Count & " 件" & vbCrLf & _
"COMアドイン: " & Application.COMAddIns.Count & " 件", _
vbInformation, "アドイン診断"
End Sub
このマクロを実行すると、新しいシートにすべてのアドインの名前、有効・無効の状態、ファイルパスが一覧で出力されます。「ファイルが見つかりません」という警告が赤文字で表示されたアドインがあれば、それがエラーの原因である可能性が極めて高いです。情シスの現場ではこのマクロをユーザーのPC上で遠隔実行して結果をメールで送ってもらうという運用を日常的に行っています。電話口で「どのアドインが入ってますか?」と聞いても正確な答えが返ってくることはまずないので、これが一番確実です。
VBAコード2切断されたCOMアドインを一括で再接続するマクロ
COMアドインが「切断」状態になっていて毎回手動で有効にし直す必要がある、というのは非常によくあるパターンです。以下のコードで、切断されているCOMアドインを一括で再接続できます。
'============================================
' COMアドイン一括再接続マクロ
' 動作確認環境Excel 2016 / 2019 / 2021 / Microsoft 365 (Build 2401~2601)
' 注意HKEY_LOCAL_MACHINE配下に登録されたアドインは管理者権限が必要です
'============================================
Sub ReconnectAllCOMAddins()
Dim comAddin As COMAddIn
Dim reconnected As Long
Dim failed As Long
Dim failedList As String
reconnected = 0
failed = 0
failedList = ""
For Each comAddin In Application.COMAddIns
If Not comAddin.Connect Then
On Error Resume Next
comAddin.Connect = True
If Err.Number <> 0 Then
failed = failed + 1
failedList = failedList & vbCrLf & " ・" & comAddin.Description & _
" (エラー: " & Err.Description & ")"
Err.Clear
Else
reconnected = reconnected + 1
End If
On Error GoTo 0
End If
Next comAddin
Dim msg As String
msg = "処理が完了しました。" & vbCrLf & vbCrLf & _
"再接続成功: " & reconnected & " 件" & vbCrLf & _
"再接続失敗: " & failed & " 件"
If failed > 0 Then
msg = msg & vbCrLf & vbCrLf & "失敗したアドイン:" & failedList & _
vbCrLf & vbCrLf & "※管理者権限が必要か、アドインファイルが破損している可能性があります。"
End If
MsgBox msg, IIf(failed > 0, vbExclamation, vbInformation), "COMアドイン再接続"
End Sub
このコードのポイントは、エラーハンドリングで失敗したアドインの名前とエラー内容を記録している点です。「このアドインはすべてのユーザー用にインストールされているため、管理者のみが接続または切断できます」というエラーが返ってきた場合は、HKEY_LOCAL_MACHINEの配下に登録されたアドインなので、管理者権限でExcelを起動し直す必要があります。これは企業環境で頻発するパターンで、ユーザー自身では解決できないため情シスへのエスカレーションが必要だということが、このコード一つで判断できるわけです。
VBAコード3Resiliencyキーの無効化エントリを検出するマクロ
Excelがアドインを自動的に無効化した情報はレジストリのResiliency\DisabledItemsキーに格納されます。以下のコードは、このキーを読み取って無効化されたアドインの有無を検出するものです。
'============================================
' Resiliency無効化エントリ検出マクロ
' 動作確認環境Excel 2016 / 2019 / 2021 / Microsoft 365 (Build 2401~2601)
' Excel 2013の場合はバージョン番号を "15.0" に変更してください
' WScript.Shell を使用するためセキュリティ設定によってはブロックされる場合があります
'============================================
Sub CheckResiliencyDisabledItems()
Dim objShell As Object
Dim regPath As String
Dim officeVersion As String
Dim hasDisabledItems As Boolean
'使用中のOfficeバージョンを自動判定
officeVersion = Application.Version '16.0 等が返る
regPath = "HKCU\Software\Microsoft\Office\" & officeVersion & "\Excel\Resiliency\DisabledItems\"
Set objShell = CreateObject("WScript.Shell")
hasDisabledItems = False
On Error Resume Next
Dim testVal As Variant
testVal = objShell.RegRead(regPath)
If Err.Number = 0 Then
hasDisabledItems = True
End If
Err.Clear
On Error GoTo 0
Dim msg As String
If hasDisabledItems Then
msg = "【検出】Resiliency\DisabledItems にエントリが存在します。" & vbCrLf & vbCrLf & _
"レジストリパス:" & vbCrLf & _
"HKCU\Software\Microsoft\Office\" & officeVersion & "\Excel\Resiliency\DisabledItems" & vbCrLf & vbCrLf & _
"このキー配下のエントリを削除すると、無効化されたアドインが復活する可能性があります。" & vbCrLf & _
"※レジストリ操作は必ずバックアップを取ってから行ってください。"
MsgBox msg, vbExclamation, "無効化エントリ検出"
Else
msg = "Resiliency\DisabledItems にエントリは見つかりませんでした。" & vbCrLf & _
"アドインの無効化はレジストリの回復性機能によるものではない可能性があります。" & vbCrLf & vbCrLf & _
"確認したパス:" & vbCrLf & _
"HKCU\Software\Microsoft\Office\" & officeVersion & "\Excel\Resiliency\DisabledItems"
MsgBox msg, vbInformation, "無効化エントリ検出"
End If
'CrashingAddinListも確認
Dim crashPath As String
crashPath = "HKCU\Software\Microsoft\Office\" & officeVersion & "\Excel\Resiliency\CrashingAddinList\"
On Error Resume Next
testVal = objShell.RegRead(crashPath)
If Err.Number = 0 Then
MsgBox "【追加検出】CrashingAddinList にもエントリが存在します。" & vbCrLf & _
"過去にアドインがExcelのクラッシュを引き起こした記録が残っています。" & vbCrLf & _
"このキーも削除対象として検討してください。", vbExclamation, "クラッシュ記録検出"
End If
Err.Clear
On Error GoTo 0
Set objShell = Nothing
End Sub
このコードが他のサイトに載っていないのは、CrashingAddinListの存在まで確認している点です。DisabledItemsだけ削除してもエラーが再発する場合、CrashingAddinListに残っている記録がExcelの判断に影響していることがあります。情シスの現場では、この2つのキーをセットで削除するのがお約束です。なお、DisabledItemsの中身はバイナリ値でアドイン名がエンコードされているため、個別のアドイン名を特定したい場合はバイナリデータをUTF-8でデコードする必要があります。判別が難しい場合は、DisabledItemsキーごと削除してしまう方が手っ取り早いです。
VBAコード4アドインの登録パス整合性をチェックするマクロ
レジストリに登録されたアドインのパスと、実際のファイルの存在を照合するコードです。「ファイルが移動・削除されたのにレジストリだけ残っている」というゴースト登録を発見できます。
'============================================
' アドイン登録パス整合性チェックマクロ
' 動作確認環境Excel 2016 / 2019 / 2021 / Microsoft 365 (Build 2401~2601)
' ファイルシステムへのアクセスが必要です
'============================================
Sub CheckAddinPathIntegrity()
Dim addin As addin
Dim issues As String
Dim issueCount As Long
issues = ""
issueCount = 0
For Each addin In Application.AddIns
'登録されているパスのファイル存在確認
If addin.FullName <> "" Then
If Dir(addin.FullName) = "" Then
issueCount = issueCount + 1
issues = issues & vbCrLf & issueCount & ". " & addin.Name & vbCrLf & _
" 登録パス: " & addin.FullName & vbCrLf & _
" → ファイルが存在しません" & vbCrLf
End If
End If
Next addin
'XLSTARTフォルダの確認
Dim xlStartPath As String
xlStartPath = Environ("APPDATA") & "\Microsoft\Excel\XLSTART"
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(xlStartPath) Then
Dim folder As Object
Set folder = fso.GetFolder(xlStartPath)
Dim file As Object
Dim xlStartFiles As String
xlStartFiles = ""
For Each file In folder.Files
xlStartFiles = xlStartFiles & vbCrLf & " ・" & file.Name & _
" (" & Format(file.Size / 1024, "#,##0") & " KB" & _
", 更新日: " & Format(file.DateLastModified, "yyyy/mm/dd") & ")"
Next file
If xlStartFiles = "" Then
xlStartFiles = vbCrLf & " (ファイルなし)"
End If
End If
Dim msg As String
msg = "=== アドイン登録パス整合性チェック結果 ===" & vbCrLf & vbCrLf
If issueCount > 0 Then
msg = msg & "【問題発見】" & issueCount & " 件のアドインでファイルが見つかりません:" & vbCrLf & issues
Else
msg = msg & "すべてのアドインファイルの存在を確認できました。" & vbCrLf
End If
msg = msg & vbCrLf & "=== XLSTARTフォルダの内容 ===" & vbCrLf & _
"パス: " & xlStartPath & xlStartFiles
MsgBox msg, IIf(issueCount > 0, vbExclamation, vbInformation), "整合性チェック"
Set fso = Nothing
End Sub
このコードが現場で特に重宝するのは、XLSTARTフォルダの中身をファイルサイズと更新日付きで一覧表示してくれる点です。たとえばPERSONAL.XLSBのサイズが異常に大きい(数MBを超えている)場合はマクロブックの肥大化が疑われますし、更新日が何年も前のファイルが放置されていれば、それがゴミファイルとしてエラーを引き起こしている可能性が高いです。
現場あるある実際によく遭遇するアドインエラーの事例と解決録
ここでは、情シスとして実際に対応した「リアルな事例」をもとに、一般的な記事では語られない解決プロセスを紹介します。ユーザーからの問い合わせは大抵「Excelが動かない」の一言で始まるので、そこからいかに原因を切り分けていくかが勝負です。
事例1毎朝Excelを開くと「ソルバーアドインに問題があります」と表示される
2024年11月以降に急増したこの問い合わせは、Officeのセキュリティアップデートが直接の原因でした。ソルバーだけでなく分析ツールパックでも同様の症状が報告されています。
この問題の厄介なところは、ユーザーが「無効にしますか?」で「はい」を押してしまうとソルバーが消え、再度有効にしても翌朝また同じエラーが出るという無限ループに陥ることです。根本原因はアップデートによってアドインのDLLパスの参照方式が変わったことにあり、レジストリの修正が必要でした。
具体的には、「HKEY_CLASSES_ROOT」配下にあるソルバーのInprocServer32キーで、(Default)の値が「mscoree.dll」となっている場合にフルパスの「C:\Windows\System32\mscoree.dll」に書き換えることで解決しました。これはMicrosoftの公式KBにも後日掲載された方法ですが、パッチが出るまでの数週間、現場ではこの手動修正で対応していたわけです。
事例2共有フォルダ上のxlamアドインが「信頼できないソース」として弾かれる
企業ではカスタムアドインを共有フォルダに置いて全社で利用するケースが多いのですが、ある日突然そのアドインが読み込まれなくなることがあります。トラストセンターの「信頼できる場所」に共有フォルダを追加済みなのに動かない。原因はシンプルで、「信頼できる場所」に登録したパスと、実際にアドインを開いているパスが微妙に異なっていたのです。
具体的には、信頼できる場所には「\\server\share\addins」とUNCパスで登録していたのに、ユーザーのPCではネットワークドライブとしてZドライブにマッピングされており、Excelは「Z:\addins」としてアクセスしていたため一致しなかったのです。逆のパターンもあります。解決策はUNCパスとマッピングドライブの両方を信頼できる場所に登録することです。さらに「信頼できる場所のサブフォルダーも信頼する」にチェックを入れることを忘れないでください。
事例3VPN接続時だけアドインエラーが出る
リモートワークが普及して以降、爆発的に増えた問い合わせがこれです。オフィスでは問題ないのに、自宅からVPN接続しているときだけアドインがエラーになる。原因の多くはVPN経由だと共有フォルダへのアクセスが遅くなり、Excelのアドイン読み込みタイムアウトに引っかかるというものです。
Excelはアドインの読み込みに一定のタイムアウト値を設けており、ネットワーク越しのファイルアクセスが遅いとタイムアウトしてしまいます。対策としては、アドインファイルをローカルにコピーしてからExcelを開くバッチファイルをログインスクリプトに仕込む方法が有効です。もう一つの手は、VPN接続前にExcelを起動してしまうとエラーが出るので、必ずVPN接続が完了してからExcelを開くという運用ルールを徹底することです。
事例4PCをリプレースしたら個人用マクロブックのアドインが全部消えた
PCの入れ替え時にユーザーのデータ移行を行う際、Excelのアドイン設定は「ドキュメント」フォルダの中にはないため移行漏れが発生しやすいポイントです。個人用マクロブックは「%APPDATA%\Microsoft\Excel\XLSTART」に、アドイン本体は「%APPDATA%\Microsoft\AddIns」に、そしてCOMアドインの設定はレジストリに格納されています。
PC移行時に確実にアドイン環境を再現するには、以下の3か所をバックアップする必要があります。
- 「%APPDATA%\Microsoft\Excel\XLSTART」フォルダの全ファイル(個人用マクロブックを含む)をコピーする。
- 「%APPDATA%\Microsoft\AddIns」フォルダの全ファイル(Excelアドイン本体)をコピーする。
- レジストリの「HKCU\Software\Microsoft\Office\16.0\Excel\Options」キーをエクスポートする(OPENキーにアドインの登録パスが含まれている)。
この3点セットを新PCに移行すれば、Excelアドインについてはほぼ完全に環境を再現できます。COMアドインについては別途インストーラーによる再インストールが必要ですが、少なくとも「あの便利なマクロが全部消えた!」というクレームは回避できるでしょう。
グループポリシーを使ったアドイン無効化の防止策(企業向け)
企業のIT管理者であれば、ユーザーのPCで毎回アドインが無効化されてしまう問題をグループポリシーで根本的に解決できます。これは個人ユーザーにはあまり馴染みのない方法ですが、社内の数百台規模のPC管理では圧倒的に効率的な手段です。
Resiliencyキーを定期的に自動削除するGPO設定
Active Directoryのグループポリシーで、「レジストリの基本設定(Registry Preference)」を使い、以下のキーを「削除」アクションで設定します。
HKCU\Software\Microsoft\Office\16.0\Excel\Resiliency\DisabledItems
この設定はグループポリシーの更新間隔(デフォルトで90分ごと+ログイン時)に適用されるため、仮にExcelがアドインを無効化しても、次のポリシー更新タイミングで自動的に復活します。同様のキーをWordやOutlookにも適用すれば、Office全体でアドインの自動無効化を封じることができます。
ただし注意点があります。アドインが本当にクラッシュの原因である場合にも強制的に有効化されてしまうため、品質の悪いアドインがインストールされている環境では逆効果になるリスクがあります。適用前に、社内で使用しているアドインの安定性を十分に検証しておくことが前提です。
アドインの自動無効化そのものを無効にするポリシー
Office2013以降では、グループポリシーの管理用テンプレート(ADMX)を使って「アドインの回復性リスト」にアドインのProgIDを登録することで、特定のアドインが自動的に無効化されることを防止できます。レジストリで直接設定する場合のパスは以下の通りです。
HKCU\Software\Policies\Microsoft\Office\16.0\Excel\Resiliency\AddinList
ここにアドインのProgIDを値の名前、「1」を値のデータとして登録すると、そのアドインは回復性機能による自動無効化の対象から除外されます。この方法であれば、クラッシュを引き起こすアドインを除外しつつ、重要な業務アドインだけを保護するという細かいコントロールが可能です。
ぶっちゃけこうした方がいい!
ここまで相当な量の情報を書いてきましたが、10年以上アドインエラーと付き合ってきた人間として、ぶっちゃけた本音を言わせてもらいます。
結論から言うと、アドインエラーで困ったらまず「Excelを閉じてレジストリのResiliencyキーごと消す」が最短ルートです。DisabledItemsもCrashingAddinListも全部消す。これだけで体感7割くらいのケースが解決します。Microsoftの公式ドキュメントには「一つずつ確認して」「設定画面から無効なアイテムを」と書いてありますが、正直なところ、現場のスピード感に合っていないんですよね。レジストリのバックアップさえ取っておけば、消して問題があったら戻せばいいだけの話です。
もう一つ言うと、「なぜエラーが出るのか」を深追いしすぎないことも大事です。Officeのアップデートが原因であれば、数日後に修正パッチが出ることも多い。特にMicrosoft365は月に何度もビルドが更新されるので、今日のバグが来週には直っていることが珍しくありません。だから「一時的にアドインを外して業務を回し、修正パッチが来たら戻す」という割り切りも現場では必要です。完璧な原因究明に何時間もかけるより、まず業務を止めないことを最優先にした方がいい。
そして一番伝えたいのは、先ほど紹介した「診断マクロ」を一つでも手元に持っておくことです。アドインのトラブルは「状態がわからない」ことが最大のストレス源で、状態さえ可視化できれば対処法はおのずと見えてきます。診断マクロの実行結果をスクリーンショットで撮ってもらえば、リモートでも的確に指示が出せる。個人ユーザーであっても、自分のPCのアドイン状態を正確に把握しているだけで、検索して出てきた解決策のどれが自分に当てはまるのかを判断できるようになります。
最後に、情シスとして何百件ものアドインエラーに対応してきて確信していることが一つあります。それは「エラーが出ないようにする仕組みを先に作った方が、エラーが出てから対処するよりも圧倒的に楽」ということ。グループポリシーでResiliencyキーを定期削除する設定、アップデートの遅延適用、アドインファイルのローカルコピー運用、この3つを仕込んでおくだけで、アドインエラーの問い合わせは体感で8割減ります。対処療法を繰り返すよりも、この記事で紹介した予防策にちょっと時間を投資する方が、ぶっちゃけ長い目で見ると圧倒的に楽だし効率的です。ぜひ今日から一つでも実践してみてください。
Excelのアドインエラーに関するよくある疑問を解決
アドインを無効にしてもExcelの基本機能に影響はないの?
基本的にはありません。アドインはExcelの拡張機能であり、無効にしてもExcelの標準機能(関数の計算、グラフ作成、書式設定など)は問題なく使えます。ただし、「分析ツール」アドインを無効にすると、ヒストグラムやt検定などの統計分析メニューが使えなくなりますし、「ソルバー」を無効にすると最適化計算ができなくなります。業務で特定のアドイン機能に依存している場合は、無効化の前に代替手段があるか確認しておきましょう。
セーフモードで起動してもアドインエラーが出る場合はどうすればいい?
セーフモードではアドインが読み込まれないため、通常はアドインエラーは発生しません。もしセーフモードでもエラーが出る場合、それはアドインではなくExcel本体やOfficeのインストール環境に問題がある可能性が高いです。Officeのオンライン修復を実行し、それでも解決しなければOfficeの再インストールを検討してください。また、Windowsの更新プログラムが未適用の場合は、すべてのWindowsアップデートを適用してから再度確認することをおすすめします。
特定のExcelファイルを開いたときだけアドインエラーが出るのはなぜ?
ファイル固有のマクロがアドインの機能を呼び出していたり、ファイル内のVBAプロジェクトが特定のCOMアドインを参照していたりする場合に、そのファイルを開いたときだけエラーが出ることがあります。この場合は、ファイルに含まれるマクロや参照設定を確認し、不要な参照を削除するか、参照先のアドインを正しくインストールし直す必要があります。ファイル自体が破損している可能性もあるため、別のファイルで同じ現象が起きるかどうかのテストも重要です。
会社のPCで勝手にアドインが無効になるのは管理者設定が原因?
はい、その可能性は高いです。企業環境ではグループポリシーによってアドインの有効・無効が一元管理されていることがあります。また、セキュリティソフトのポリシーがアドインの動作を制限しているケースも珍しくありません。このような場合は自分で設定を変更できないことが多いため、社内の情報システム部門に相談するのが最善の方法です。
今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
Excelの起動時に毎回アドインエラーが出る原因は、Officeアップデートとの互換性問題、アドインの自動無効化、レジストリ値の書き換え、セキュリティによるファイルブロック、XLSTARTフォルダの問題、セキュリティソフトとの干渉、そして複数バージョンの共存と、実に多岐にわたります。
対処の基本は「まずセーフモードで起動して原因を切り分ける」ことです。そこからアドインの無効化と再有効化で犯人を特定し、必要に応じてレジストリの修正やOfficeの修復へと進んでいきます。2026年現在もMicrosoft365のアップデートに起因するアドイン不具合は定期的に発生しているため、アップデート後の動作確認を習慣にすることが、同じトラブルを繰り返さないための最善策です。
この記事で紹介した7つの原因と段階別の対処フローを順に試していけば、ほとんどのアドインエラーは解消できるはずです。それでも解決しない場合は、Microsoftのサポートツール(Support and Recovery Assistant)の利用や、専門の技術者への相談も視野に入れてください。毎朝のExcel起動をストレスフリーにして、本来の業務に集中できる環境を取り戻しましょう。






コメント