質問: エクセルマクロが海外pcで開けない エクセルのマクロが入ったファイルが、海外のpc(os,ソフトとも英語版)で開けませんでした。 日本では普通にマクロ実行出来ます。 セキュリティは「中」に設定しています。 <オリジナル> microsoft office 2003 professional 日本語 動作良好 <外国pc> microsoft office 2003 professional english 動作良好 microsoft office 2003 standard english 動作不良 microsoft office 2000 standard english sr-1 動作不良 ファイルを開いた時(マクロを実行する前)に、下記メッセージが表示されます。 name conflicts with existing module,project, or object library repairs to 'ファイル名’ lost visual basic project lost activex controls 解決方法を教えて下さい。
回答: 「既存のモジュール、プロジェクト、または、オブジェクトライブラリで、名前が衝突している」と言うエラーです。 同じofficeと言っても、日本語版と英語版では、予約語が異なっていたり、識別子の名前で使える文字が違ったりします。 ですので、ある変数や関数の名前が、日本語版では使用出来るのに、英語版では予約語になっていて使えない、と言う事が起きます。 また、同じ日本語版でも、professionalバージョンとstandardバージョンの間で、同様の事が起きます。 どうやら、日本語版と英語版のproでは動いていて、standardで動いてないようなので、日本語版のstanderdバージョンを用意してファイルを開き、マクロエディタ(vbエディタ)の画面を呼び出して、開いているプロジェクトのマクロを、すべてコンパイルしてみて下さい。 名前が衝突してコンパイル出来ない場合、出来ない原因になっている場所が強調表示され、何が悪いか(どの名前が衝突の原因か)突き止められる筈です。