• ベストアンサー

Excel97から2003への移行

Excel97で作成したプログラムをExcel2003で動作させたところエラーになりました そこでExcel97 → Excel2000、Excel2000 → Excel2002、Excel2002 → Excel2003、のそれぞれの段階でVBAにどのような変更があったのかをMSDNなどで調べているのですが、Excel2000以降、変更があったのか、なかったのかすら分かりません 変更があったのか、それともなかったのか。もしあったのなら参考になるサイト等があるのか教えていただけないでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >Excel97から2003への移行 >何も記述されていないため、変更があったのかどうかが分からず困っているというのが現状です 「何も記述されていないため」というようなことはありません。 おっしゃっているのは、「 Migration(マイグレーション)」のことだと思います。 Mougの大村あつし氏は、結局は、全部のバージョンで直接調べてみるしかない、という悲観論を述べられていますが、私自身、最終的には、そのようにするしかないと思っています。特に、上位バージョンから、下位バージョンを動かすコードを作るのは至難の業です。上位に関しては、コード的に不自然さは残っても、エラーということは、ほとんどありませんね。概ね、そのエラーは、別のところに存在します。 97 → 2003 http://office.microsoft.com/search/redir.aspx?AssetID=HA011401651033&Origin=HH100308411033&CTT=5 私自身、一応のMigration についてはある程度心得ているつもりです。邦訳・翻案は、「プロジェクトA」が行っています。プロジェクトA株式会社のページに邦訳が置いてあるはずです。Microsoft社にも置いてあるはずです。 私などが、ここで、Migrationの説明しても、その全てを伝えられませんが、下から上に、積み上げ式で書いたものは、エラーになる可能性がひじょうに少ないです。また、メモリ的にも、上位バージョンのほうがかなり余裕がありますから。だいたい、そこでエラーになるのは、初歩的な参照設定のミスです。 >メソッドで引数の追加や削除などの変更があったと記述されているのですが、 新しいメソッドの追加に関しては、触れる必要はないと思います。また、VBA内のメソッドの削除は、削除ではなくて、隠しオブジェクトになっているはずです。それ自体は生きているしエラーは吐き出しませんが、正しいか間違っているかは、コーディングや目視では、さっぱり分りません。追加に関しては、概ね、プロパティだと思いますが、下位バージョンからの積み上げ式には、トラブルはないはずです。 しかし、一般的に、ブック自体のVBAコードについては、上も下も、あまり互換性を期待しないほうがよいですね。その理由はわかると思いますから、説明はしませんが。

blue_001
質問者

お礼

教えていただいたサイトやアドバイスを参考に色々と調べてみましたところ、Findメソッドが怪しいと分かりました 初めは単順に何か変更があったから動作しないだろうと思っていたんですが、そう単純にはいかないんだなと思い知らされました 今回のことを教訓に、これからも勉強していこうと思います 詳しく教えていただき本当にありがとうございました

blue_001
質問者

補足

詳しいご回答ありがとうございます アドバイスを参考に調べてみます

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

追伸です。 マイグレーションセンターのURLです。 http://www.projecta.co.jp/migration/download.html

noname#15459
noname#15459
回答No.1

デバッグになるところとエラー番号がわかるといいのですが、 Excel97で作成したプログラムといえばOSがWIN98でしょうか Excel2003で動作させたOSはXPですか?ファイルの保存形式でそのプログラムが動作しない場合もありますが、

blue_001
質問者

補足

えっと、エラーを修正するのが目的ではなく、Excelのバージョンがあがった時にVBAに変更があったのかなかったのかを調べたいのです MSDNには97→2000の時にいくつかのメソッドで引数の追加や削除などの変更があったと記述されているのですが、それ以降(2000→2002、2002→2003)では何も記述されていないため、変更があったのかどうかが分からず困っているというのが現状です 質問時に詳しく書き込まなくて申し訳ありません(件名も不適切ですね…)