サービス&サポート


VBA Error - Compile Error: Can't find project or library(エラーメッセージ)

このテクニカルノートの情報は、以下に該当します:

製品:RSView32タイプ:エラーメッセージ
テクニカルノートID:E979JA
パッケージ/モジュール:Runtime
Works
英文版作成日:2000/12/01
リビジョン:6.00.41
6.10.15
6.10.16
修正リビジョン:
サブシステム: Visual Basic for Applications

テクニカルノート本文:

問題:

VBAライブラリの標準的な関数を使用してVBAプロシージャを実行している際に、以下のエラーが発生しました。

Compile Error: Can't find project or library

新しく作成されたRSViewプロジェクトにVBAコードが移動されている場合、このエラーは発生しません。


原因:

RSView VBAエディタのツール-参照設定で、先頭に"MISSING"が付いているリファレンスを選択します。このライブラリへのリファレンスは、必ずしもプロジェクトで使用しているライブラリではありません。これは、Microsoft VBAでは既知の問題です。Microsoft VBAアプリケーションでも同じエラーが発生します。

詳細は、以下を参照してください。
Microsoft article Q160870


解決方法:

不明のリファレンスのチェックを解除します。これを行なう方法は、以下のとおりです。

1.RSView VBAエディタをオープンします。
2.サブルーチンが実行中でないことを確認します。使用可能であれば、リセットボタン(またはメニューの"実行n | リセット")を押します。
3."ツール"メニューで"参照設定"を選択します。
4.チェックされているすべてのリファレンスを調べて、"MISSING"という文字列が付いているリファレンスのチェックを解除します。(リファレンスのチェック解除中に"Can't remove control or reference; in use."というエラーが発生した場合は、以下の解決方法を実行してください。)


別の解決方法:

VBAプロジェクトを以下のように再構築します。

1.RSView32 VBAエディタをオープンします。
2.VBAプロジェクトの各フォーム、クラスモジュールまたはモジュールを右クリックして、"ファイルのエクスポート..."を実行します。(RSView32プロジェクトフォルダ内のVBAサブフォルダに保存できます。)
3."ThisProject"のメインVBAモジュールについて"ファイルのエクスポート..."を実行して、"TEMP.cls"という名前で保存します。
4.RSView32をクローズします。VBAプロジェクトへの変更を保存するかどうかを尋ねられたら、"NO"を選択します。
5.Windowsエクスプローラで、RSView32プロジェクトのVBAフォルダをオープンします。
6.プロジェクトのVBAファイル"<projectName>.VBA"を削除するか、バックアップ用に"<projectName>.BAK"という名前に変更します。
7.RSView32プロジェクトを再びオープンします。
8.VBAエディタをオープンします。"ThisProject"モジュールが1つだけあり、空白になっています。
9.Project Explorerのウィンドウでファイルを右クリックして、各ファイルについて"ファイルのインポート..."を選択することにより、ステップ2および3でエクスポートしたファイルをインポートします。
10."TEMP.CLS"モジュールをインポートした後で、"TEMP.cls"モジュールのすべてのテキストをコピーして、"ThisProject"モジュールにペーストします。
11.右クリックしてTEMP.clsモジュールをプロジェクトから削除して、"Remove TEMP..."を選択します。ファイルを保存するかどうかを尋ねるプロンプトに対しては、"NO"と応答します。
12.プロジェクトを保存します。(メニューの"ファイル | 保存<projectName>")


法的な注意事項:
本版は、英文テクニカルノートの和訳です。英文原文を正文といたします。
ロックウェル・ソフトウェア(RSI) のサポートライブラリに記載された情報は、いかなる保証もなく「そのままで」提供されます。RSI は、明示または暗示されたいかなる保証も負いません。また、RSI がそのような損害の可能性を忠告していた場合でも、直接、間接、偶発的、必然的な利益の損失または損害を含むいかなる損害についても、RSI は責任を負いません。
©2000 Rockwell Software Inc. All rights reserved.