昨日まで使えていた社内のExcelツールが、PCを新しくした途端に動かなくなった…
「アプリケーション定義またはオブジェクト定義のエラーです」と出て、先に進めない!
PCを入れ替えたり、Excel(Office)のアップデートが入ったりしたタイミングで、これまで普通に使えていた社内のExcelツール(VBAマクロ)が、突然動かなくなることがあります。
ツールを起動すると「アプリケーション定義またはオブジェクト定義のエラーです」というエラーが表示されたり、画面上部の黄色いバーに「このファイル内の ActiveX コンテンツはブロックされています」という警告が出たりして、ボタンを押しても処理が進まないケースです。
実はこれ、ツール側のバグではなく、Excelのセキュリティ設定が原因である可能性が高いです。この記事では、このエラーが起きる原因と、具体的な対処法(ActiveXの有効化手順)を画像付きで解説します。あわせて、有効化する際のセキュリティ上の注意点や、ツールを作る側の今後の対策まで紹介しますので、ぜひ最後まで見てみてください。
【結論】原因はActiveXの無効化。トラストセンターで有効化すれば直る
まずは結論からお伝えします。今回のエラーは、次の対応で直ることがほとんどです。
- 原因:Microsoftの方針で「ActiveX」という機能が既定で無効化され、ツール内のボタンやフォームが動かなくなっているためです。
- 対処法:Excelの「トラスト センター」で、ActiveXの設定を有効化する側に変更します。
具体的な設定手順は後ほど画像付きで説明します。その前に、「なぜ突然動かなくなったのか」を簡単に押さえておくと、対処法の意味もわかりやすくなります。
なお、このブログでは効率化に関する情報を発信しています。業務効率化におすすめの書籍なども紹介しているので、ぜひ合わせて確認してみてください。
なぜ突然エラーが出るようになったのか?(ActiveXの既定無効化)
結論から言うと、Microsoftのセキュリティ強化によって「ActiveX」という機能が既定で無効に変更され、既存のツールがブロックされてしまうためです。
ActiveXは、Excelのシート上にボタンや入力フォーム、コンボボックスなどを配置するために古くから使われてきた機能です。便利な反面、パソコンのシステムに深くアクセスできるため、悪意のあるプログラムの実行経路として悪用されるリスクを抱えています。そのため、Microsoftはこの機能を段階的に制限してきました。
そして、既定の設定が「警告を表示せずにすべてのコントロールを無効にする」という、もっとも厳しい設定に変更されました。適用の時期は、買い切り版のOffice 2024が2024年10月から、サブスクリプション版のMicrosoft 365が2025年以降に順次で、Word・Excel・PowerPoint・Visioが対象です。
社内で昔から使われているレガシーツールは、このActiveXを使って作られていることが多く、機能がブロックされると、今回のような「アプリケーション定義またはオブジェクト定義のエラーです」といったエラーを引き起こします。特に、PCを新調したりOfficeが更新されたりしたタイミングで既定値が切り替わり、ある日突然動かなくなった、というパターンが多いです。

【対処法】ActiveXの設定を変更して有効化する
エラーを解消してツールを再び使えるようにするには、Excelの「トラスト センター」から設定を変更します。以下の手順で進めてください。
手順1:「ファイル」→「オプション」を開く
エラーが出ているExcelを開いた状態で、左上の 「ファイル」 タブをクリックし、左下のメニューから 「オプション」 を選択します。

手順2:「トラスト センター」→「トラスト センターの設定」を開く
「Excel のオプション」画面が開いたら、左側メニューの一番下にある 「トラスト センター」(バージョンによっては「セキュリティ センター」)をクリックし、右側の 「トラスト センターの設定」 ボタンを押します。

手順3:「ActiveX の設定」で有効化を選ぶ
左側メニューから 「ActiveX の設定」 を選びます。おそらく一番上の「警告を表示せずにすべてのコントロールを無効にする」が選ばれているはずなので、これを次の項目に変更します。
「先に確認メッセージを表示してから、最低限の制限を適用してすべてのコントロールを有効にする(P)」

手順4:「OK」で閉じてExcelを再起動する
「OK」を押して画面を閉じます。設定を反映させるために、Excelツールを一度完全に閉じてから開き直し、正常に動くか確認してください。
《補足1:この設定はExcel以外にも適用されます》
ActiveXの設定は、変更したファイルだけでなく、Word・PowerPoint・Visioを含むすべてのOfficeアプリに共通で適用されます。Excelで一度変更すれば、他のアプリでも同じ設定になります。
《補足2:黄色いバーの「有効化」だけでは直らないことがあります》
画面上部の黄色いバーに「詳細を表示」や「コンテンツの有効化」が出ることがありますが、既定の無効化が優先されている場合は、押しても機能がブロックされたままのことがあります。その場合は、上記のトラスト センターでの設定変更が必要だからです。
⚠️【重要】セキュリティ上の注意点(安易に有効化しない)
この設定でツールは動くようになりますが、1点だけ注意が必要です。
今回有効化したActiveXは、先ほど説明したとおりセキュリティリスクになり得る機能です。Microsoftも、「ActiveXを有効にしてください」と促すポップアップやメール添付ファイルは、詐欺やマルウェアの可能性が高いと注意を呼びかけています。正規の企業が、注文の取り消しや書類の確認のためにActiveXの有効化を求めることはありません。
そのため、有効化するのは、社内のシステム部門が提供しているツールや、自分が信頼できるとわかっている社内ファイルを使うときだけにしてください。
インターネットからダウンロードした出所不明なExcelファイルを開いたときには、絶対にコンテンツを有効化しないよう、リテラシーを持って運用することが大切です。
設定が元に戻ってしまうときは再度確認する
いったんActiveXを有効化しても、その後のOfficeやWindowsのアップデートによって、設定が既定(無効)に戻ってしまうことがあります。
「前は直したのに、また同じエラーが出るようになった」という場合は、もう一度トラスト センターの「ActiveX の設定」を開いて、設定が戻っていないか確認してみてください。戻っていたら、同じ手順で有効化し直せば直ります。
【開発者向け】今後はフォームコントロールへの置き換えを検討する
もしあなたが社内ツールの開発・改修を担当する立場であれば、今後はシート上に配置するパーツを「ActiveXコントロール」ではなく「フォームコントロール」に置き換えることをおすすめします。
フォームコントロールは今回のブロック対象ではないので、ActiveXのように「ある日突然使えなくなる」心配がなく、より安全に運用できるからです。利用者側にActiveXの有効化をお願いする必要もなくなります。
ただし、ActiveXコントロールとフォームコントロールでは、VBAからの呼び出し方やイベントの書き方が異なります。ボタンが多いツールをすべて置き換えるのはそれなりに手間がかかるので、影響範囲を確認しながら、少しずつ計画的に進めるのがよいと思います。
まとめ:エラーの原因はActiveX。信頼できるツールだけ有効化しよう
今回は、社内のExcelツールが「アプリケーション定義またはオブジェクト定義のエラーです」などのメッセージで動かなくなったときの対処法を紹介しました。
- 原因:Microsoftのセキュリティ強化で、ActiveXが既定で無効になったため
- 対処法:トラスト センターの「ActiveX の設定」を「先に確認メッセージを表示してから、最低限の制限を適用してすべてのコントロールを有効にする(P)」に変更する
- 注意:有効化するのは信頼できる社内ファイルだけ。出所不明なファイルでは有効化しない
私は、こうしたエラーは「ツールが壊れた」と思って焦ってしまいがちですが、原因さえわかれば設定変更だけで直せるものが多いと感じています。今回のようにセキュリティ設定が絡む場合は、勝手に有効化せず、社内のシステム部門に一言確認してから対応すると安心です。
このブログでは、今回のようなトラブル解決から、日々の業務を根本からラクにする自動化テクニックまで幅広く紹介しています。
さらに一歩踏み込んで、「毎日の面倒な手作業を最速で終わらせたい!」という方向けに、VBAをイチから学ばず「コピペ×AI」でパパッと自動化するノウハウをまとめたKindle書籍を出版しました。Kindle Unlimited(読み放題)なら0円で読めますので、ぜひチェックしてみてください。



コメント