ActiveXコントロールからボタンが作れない不具合対策
ボタンを作ろうとすると「オブジェクトを挿入できません」マクロ 18a回
コントロールツールボックスで「オブジェクトを挿入できません」
ExcelVBAで、コントロールツールボックスをつかってボタンを作成しようとする際に、
「オブジェクトを挿入できません」と表示され、ボタンが作成できないことがあります。
またすでに作成済みのコントロールが、「実行時エラー」となったりします。
これらはほぼ2014年12月のMicrosoftOfficeの更新プログラムの不具合(あるいはそれ以降の更新プログラム)によるものです。
ActiveXコントロールの脆弱性により、リモートでコードが実行されるということから、あなたのPCを守るために更新プログラムがインストールされたわけですが、
それによりVBAで利用するActiveXコントロールが全滅となりました。
Excelの2007以降のバージョンでは対策を実行することでコントロールの不具合が解消されるようです。管理人の場合、2台のPCにおいてExcel2007,2010,2013の不具合が訂正できました。
対処は、マイクロソフトが正式な手順を公開しています。
Excelバージョン:
ActiveXコントロールが使えない不具合を修正
管理人が実行した際の手順は以下の通りです。
エクスプローラのアドレスバーに%Temp%と入力。テンポラリーフォルダを開きます。
エクスプローラのアドレスバーに%Temp%と入力。テンポラリーフォルダを開きます。
テンポラリーフォルダを開きました。
アドレスは、OSのバージョンにより違う場合もあります。このPCでは、C:\Users\ログインユーザーID\AppData\Local\Temp
検索ボックスにMSForms.exdというファイル名を入力し検索します。
アドレスは、OSのバージョンにより違う場合もあります。このPCでは、C:\Users\ログインユーザーID\AppData\Local\Temp
検索ボックスにMSForms.exdというファイル名を入力し検索します。
MSForms.exdというファイルが見つかりました。
MicrosoftOfficeの更新プログラムの不具合の影響を受けているであろう、このMSForms.exdファイルを選択して削除します。
削除することでのさらに不具合が出るのではないかと心配されるかもしれませんが、 このファイルは、コントロールを使うと自動的に作成されるファイルなので削除しても問題ありません。
MicrosoftOfficeの更新プログラムの不具合の影響を受けているであろう、このMSForms.exdファイルを選択して削除します。
削除することでのさらに不具合が出るのではないかと心配されるかもしれませんが、 このファイルは、コントロールを使うと自動的に作成されるファイルなので削除しても問題ありません。
MSForms.exdを削除したら、Excelを開いて、コントロールツールボックスからボタンを作成してみましょう。
「オブジェクトを挿入できません」というメッセージも表示されずに、ボタンが作成できました。
問題は解消されています。