VBAで「ユーザー定義型は定義されていません。」のエラーが発生し困ったときはないでしょうか。
けど、そんな中で悩むことは、
・VBA「ユーザー定義型は定義されていません。」のエラーの対処法がわからない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
もくじ
エラー原因その1:参照設定が抜けている
VBA「ユーザー定義型は定義されていません。」のエラー原因その1は参照設定が抜けている場合となります。
外部のアプリケーションやライブラリ、モジュールに定義されたオブジェクトや変数を呼び出すと、そのようなものは現行環境には存在しないという形でエラーが発生します。
サンプルはOutlookアプリケーションを宣言していますが、「Outlook 16.0 Object Library」の参照設定がないためエラーとなるパターンとなります。
エラー原因その2:参照設定しているアプリケーションのバージョンがあっていない
VBA「ユーザー定義型は定義されていません。」のエラー原因その2は参照設定しているアプリケーションのバージョンがあっていない場合となります。
例えばライブラリの「Outlook 16.0 Object Library」で設定していた場合、古いOffice製品で開いてVBAを実行しようとすると、バージョン16のオブジェクトライブラリは存在しないため、参照設定のリンクが外れた状態となりエラーとなります。
エラー原因その3:ユーザー定義型の記載ミスがある
VBA「ユーザー定義型は定義されていません。」のエラー原因その3はユーザー定義型の記載ミスがある場合となります。
宣言型に記述ミスがあると、オブジェクトや変数の宣言で標準ライブラリにも存在しない宣言型として判断されるためエラーが返ります。
例えば、「As Outlook.Namespace」とすべきところを「As Outlook.Namespace1」とすると
エラーとなります。
エラー原因その1:参照設定が抜けている場合の対処法
エラー原因その1:参照設定が抜けている場合の対処法は、宣言型に該当するアプリケーションやモジュールの参照設定を行うことです。
ExcelからOutlookアプリケーションを実行する場合であれば「Microsoft Outlook XX.X Object Library」の参照設定にチェックを入れます。
①Excelを起動し、「開発」タブをクリックします。
②VBEの画面が開いたら、メニューから「ツール」>「参照設定」を選択します。
③「Microsoft Outlook XX.X Object Library」を探してチェックボックスにチェックし「OK」をクリックします。
エラー原因その2:参照設定しているアプリケーションのバージョンがあっていない場合の対処法
エラー原因その2:参照設定しているアプリケーションのバージョンがあっていない場合の対処法は、実行環境に存在しないアプリケーションの参照設定を外し、存在するアプリケーションへチェックを入れ設定をし直します。
エラー原因その3:ユーザー定義型の記載ミスがある場合の対処法
エラー原因その3:ユーザー定義型の記載ミスがある場合の対処法は、ミスを訂正しましょう。
■訂正前
■訂正後
さいごに
いかがでしょうか。
今回は、
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す