エクセルの2002でプログラムを開発中です。ローカルフォルダで動いているエクセルの、あるシートをサーバーの任意フォルダにファイルとして保存するものです。

 ところが今日、職場で2002で保存したファイルを2007で開こうとすると【ファイル拡張子が示す形式と異なります】のエラー。逆に2007で保存したファイルを2002で開こうとすると【このファイルの形式を認識できません。】のメッセージエラー。職場で複数の同僚との活用を考えており、同僚が使うエクセルはそれぞれバージョンが違います。

 なお、ネットでググるとファイルフォーマットを指定する必要があると書いてあり、workbook.SaveAs("abc.xls", Excel.XlFileFormat.xlWorkbookNormal)となっています。そこで★マークの部分を書き足しました。これで動くでしょうか?つまり、どのバージョンで保存しても、別のバージョンで開けるようになるのかどうか。

(すみません、ググったのは家に帰ってきてからです。明日、職場で確かめてこようと思いますが今からは行けません。月曜日に使いたいのです。パージョンの違いがあっても使えるかどうかの評価がほしいのです。)

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/04/02 18:31:53
  • 終了:2011/04/09 18:35:02

回答(2件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912011/04/02 19:05:30

ポイント35pt

xlWorkbookNormal は使用しているバージョンのフォーマットで保存されますので、

2007 でこれで保存した場合は、下位バージョンで開くことができません。

下位バージョンのフォーマットで保存するのが基本です。


ですから、保存時のフォーマットは xlExcel9795 を指定した方が良いでしょう。

http://www.officepro.jp/excelvba/book_new/index9.html


ただ、2007 以降とそれ以前では機能に大きく差がありますので、変更内容によって完全な再現は

できませんのでそのあたりは把握しておいた方が良いかと思います。

http://www.geocities.jp/oyakamassan_m/exceltips/excel2007_1.html

id:anglar

ありがとうございます。わかりやすいページを紹介してくれて感謝です。ただ、保存したいページはxlExcel9795では2002でさえ、うまくいかないように感じています。職場では同僚が2007を使って、サーバーに集まった複数のファイルを私が2002で処理したいのです。何とかならないかと思っています。なお、私は以前「http://q.hatena.ne.jp/1206170553」でMookさんに答えてもらっていて、このコードの下から3つめの部分をいじっているところです。重ね重ねお世話になっているわけです。m(_ _)m

2011/04/02 22:52:11
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912011/04/02 23:39:51

ポイント35pt

捕捉等はコメントで行いたいので、下の「この質問・回答へのコメント」を有効にお願いいたします。


ちょっと検証してみました。

2003 では xlExcel9795 の使用でだいたい問題なかったのですが、2010 では この書式は

使えませんでした。おそらく 2007 でも使えないかもしれません。


代わりに、2010で xlExcel8 と xlWorkbookNormal で保存し 2000 で開いてみましたが、

どちらも開くことができました。


ですので先の回答は誤っており(すみませんでした)、試そうとされていた xlWorkbookNormal

で保存することで、できそうです。


前回のコードでしたら

dstWB.SaveAs folderPath & "\" & fileName,  FileFormat:=xlWorkbookNormal

で行けるかと思います。

id:anglar

返信が遅れて大変申し訳ありません。ずっとこの問題を職場で引きづりながら、いろいろ試してみましたが、これで何とか行くような気がしてきました。明日も職場に行ってやってみます。また、返信します。

(^o^)

2011/04/08 21:34:16
  • id:Mook
    無事動いたでしょうか?

    2002 はこれまで使ったことがないので、その点が不安ですが・・・。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません