【Access】「ActiveX コンポーネントはオブジェクトを作成できません。(0x1AD)」解決のヒント
Access 2010かつ、独自のDLLを呼び出して使用しているシステムで、
なぜか、「ActiveX コンポーネントはオブジェクトを作成できません。(0x1AD)」が連発して、
正常に動かない事がありました・・・。
Microsoftの公式ドキュメントには、DAOが正しく登録されていないだとか、
1つまたは複数の参照が見つかりませんだとか、
色々と丁寧に書かれてあるのですが、すべて実行しても、びくともせず。
結局、C:\Windows\Microsoft.NET\Framework64\のREGASMを使っていたのを、
C:\Windows\Microsoft.NET\Framework\のREGASMを使う事で、
無事にDLLを呼び出せるようになりました・・・orz
下記、メモです。
従来のやり方(管理者モードのコマンドプロンプトで実行):
CD "C:\Windows\Microsoft.NET\Framework64\v4.0.30319"
REGASM "C:\path\to\.dll" /codebase /tlb
CD "C:\Windows\Microsoft.NET\Framework64\v4.0.30319"
REGASM "C:\path\to\.dll" /codebase /tlb
改善後のやり方(管理者モードのコマンドプロンプトで実行):
CD "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
REGASM "C:\path\to\.dll" /codebase /tlb
CD "C:\Windows\Microsoft.NET\Framework\v4.0.30319"
REGASM "C:\path\to\.dll" /codebase /tlb
ちなみに、OSはWindows10Proの64bit、
Officeも64bitを使っているはずなのですが・・・。
なぜこれで動いたのか、不明です。
まあ、深堀りすると面倒なので、
こういう事もあるんだよ、という事にしておきます(^^;
似たような事で悩んでいる方がいれば、
何かのヒントになると幸いです。
この記事の最終更新日:2019/03/11
最初に記事を書いた日:2019/03/02