| 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.
