ActiveX コンポーネントは、オブジェクトを作成できないか、このオブジェクトへの参照を返すことができません (エラー 429)
オブジェクトを作成するときは、オブジェクトのクラスがシステム レジストリに登録されていて、関連するすべてのダイナミックリンク ライブラリ (DLL) が使用できるようになっている必要があります。
このエラーの原因と解決策は次のとおりです。
クラスは登録されていません。 たとえば、システム レジストリにクラスの言及がないか、またはクラスの言及があっても正しくない種類のファイルが指定されているか、ファイルが見つかりません。 可能な場合は、オブジェクトのアプリケーションを起動してみてください。 レジストリの情報が古いか間違っている場合は、アプリケーションがレジストリを調べて情報を修正します。 アプリケーションを起動しても問題が解決しない場合は、アプリケーションのセットアップ プログラムを再実行してください。
オブジェクトに必要な DLL は、見つからないか、見つかったが破損しているため、使用できません。 関連するすべての DLL が使用できることを確認してください。 たとえば、データ アクセス オブジェクト (DAO) では、プラットフォームによって異なるサポート DLL が必要です。 これがこのエラーの原因である場合は、そのようなオブジェクトのセットアップ プログラムの再実行が必要な場合があります。
オブジェクトはマシンで使用できますが、ライセンスが付与された Automation オブジェクトであり、インスタンス化に必要なライセンスの可用性を確認できません。
一部のオブジェクトは、コンポーネントがライセンス キーを見つけた後にのみインスタンス化できます。これは、オブジェクトが現在のマシンでインスタンス化のために登録されていることを確認します。 適切にインストールされた タイプ ライブラリ またはオブジェクト ライブラリを介して オブジェクトへの参照が行われると、正しいキーが自動的に指定されます。
CreateObject または GetObject の呼び出しの結果としてインスタンス化が試みられた場合は、オブジェクトがキーを検索する必要があります。 その場合、オブジェクトはシステム レジストリまたはオブジェクトのインストール時に作成される特殊なファイル (たとえば、拡張子が .lic のファイル) を検索できます。 キーが見つからない場合は、オブジェクトをインスタンス化できません。
エンド ユーザーがオブジェクトのアプリケーションを不適切にセットアップした場合、誤って必要なファイルを削除した場合、またはシステム レジストリを変更した場合は、オブジェクトでキーが見つからない場合があります。 キーが見つからない場合、オブジェクトはインスタンス化できません。 このような場合、開発者のシステムではインスタンス化が行われても、ユーザーのシステムでは行われない場合があります。 ユーザーがライセンスされているオブジェクトを再インストールする必要がある可能性があります。
GetObject 関数を使用して、Visual Basic で作成されたクラスへの参照を取得しようとしています。 GetObject は、Visual Basic で作成されたクラスの参照の取得には使用できません。
オブジェクトへのアクセスが明示的に拒否されました。 たとえば、アクセスしようとしているデータ オブジェクトが現在使用中であり、デッドロック状態を防ぐためにロックされています。 この場合は、別の機会であればオブジェクトにアクセスできる可能性があります。
詳細については、該当する項目を選択し、F1 キー (Windows の場合) または HELP (Macintosh の場合) を押してください。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。