あるコンピュータで使用できていたマクロ付きのエクセルファイルを他のノートPCで開こうとしたところ、DLLに関するエラーが出て、VBAにおいてRightなどの固有の関数が使えなくなりました。
そこで、アドバイスを参考に調べたところ、原因はツールの参照設定において
参照不可:Ref Edit Control
となっている箇所であることが分かりました。
続いて参照設定のチェックを外そうとしたところ、外して「OK」しても再度参照設定を開くとチェックがされた状態になり、変わらずファイル保存や一部のマクロ実行が不可能でした。
さらに、Webで調べた情報などを元に、.NET FrameWork 3.5をインストール後再起動して再度ファイルを開いてみましたが、VBAエディタを開こうとしたときに同じエラーが出て、開けませんでした。
このエラーを回避する方法ってございますでしょうか?
お気持ちのみですが、合計150Pの質問とさせて頂きます。
異なるバージョンで保存されたxlsを開いた場合に、問題が起きてしまう場合があるようです。(必ず起きるというわけではないようなので、何故問題が起きるのかまでは分かりませんが)
現象としては、参照しているRef Edit Controlのファイル場所が正しくないために発生していると考えられます。
ハードディスクを検索して、refedit.dllを探し、参照設定画面の「参照」ボタンで正しいrefedit.dllを読み込んでみてください。
Excelファイルを作成したコンピュータと、エラーが発生しているコンピュータの各々について、下記の情報をお知らせください。
ご質問の件、ありがとうございます。下記、回答いたしますので、よろしくお願い致します。
1. WindowsXP SP3
2. Microsoft Office Professional Edition 2003
3. なし
※注釈
1. 正規版です
2. 友人にもらったPCですが、最初からインストールされていました。
既にpahooさんが回答しているかも知れませんが、次のケースが考えられます。
参照設定で、まずは場所とファイル名を確かめてみてください。
1.REFEDIT.DLL → パスが異なる
xpとvistaでは、REFEDIT.DLLのパスが異なるようです。
2.MSCAL.ocx → Accessが入っていない
Accessに入っているカレンダーコントロール(MSCAL.ocx)を参照しているケースもありそうです。
Q&A|Excel (VBA)|Calendar部分が表示されません
もし、使っていないコントロールがフォームなどに貼り付いているのでしたら、この機会に外しておくのが良さそうですね。
ありがとうございます。ご質問の件ですが
1.両PC共XPで、Pathは正常に設定されており、DLLファイルも存在しました。
2.Accessはインストールされているようで、起動もできました。
異なるバージョンで保存されたxlsを開いた場合に、問題が起きてしまう場合があるようです。(必ず起きるというわけではないようなので、何故問題が起きるのかまでは分かりませんが)
現象としては、参照しているRef Edit Controlのファイル場所が正しくないために発生していると考えられます。
ハードディスクを検索して、refedit.dllを探し、参照設定画面の「参照」ボタンで正しいrefedit.dllを読み込んでみてください。
ありがとうございます。
http://72.14.235.132/search?q=cache:ZgErqKtShg0J:www.moug.net/fa...
(Googleのキャッシュで保存されているWeb)
を参考に、
1:ファイルが正常に開けるPCでマクロをエクスポートしてファイルを保存
2:マクロにおいて参照不可なPCでファイルを開き、先ほどのマクロをインポート
によりRefEditControlのチェックを外すことができ、当該問題は当面は解決いたしました。
引き続き回答を募集致しますが、これにて一時解決ということになりました。
ありがとうございました。
ありがとうございます。
http://72.14.235.132/search?q=cache:ZgErqKtShg0J:www.moug.net/fa...
(Googleのキャッシュで保存されているWeb)
を参考に、
1:ファイルが正常に開けるPCでマクロをエクスポートしてファイルを保存
2:マクロにおいて参照不可なPCでファイルを開き、先ほどのマクロをインポート
によりRefEditControlのチェックを外すことができ、当該問題は当面は解決いたしました。
引き続き回答を募集致しますが、これにて一時解決ということになりました。
ありがとうございました。