旧バージョンで新形式ファイルを開く


Excel 2007で作成するファイルは、標準でXML形式になりました。従来のXLSファイル(BIFF形式)に比べて、大きく変わったわけです。まぁ、この手の話はよくあることです。そして、こういう場合、往々にして「旧形式ファイルをExcel 2007で開くことはできるけど、新形式ファイルはExcel 2003で開けない」のが普通です。だって、Excel 2003が開発された当時は、新しいXML形式の仕様が決まっていなかったのですから、未来の機能を実装することはできませんよね。

ところが、Microsoftが提供している「Microsoft Office 互換機能パック」を導入すると、なんと、古いExcelでXML形式ファイルを開けるようになります。

■Word/Excel/PowerPoint 2007 ファイル形式用 Microsoft Office 互換機能パック

上記ページの[ダウンロード]ボタンをクリックし、ダウンロードしたFileFormatConverters.exeを実行すれば導入は完了です。対応しているバージョンは、Excel 2000以降です。互換機能パックを導入することで、従来のExcelには何も変化は起こりません。ただ、Excel 2007形式の新しいファイルを開けるようになるだけです。

互換機能パックを導入した旧ExcelでXML形式ブックを開くのに、特別な手順は必要ありません。いつものように、アイコンをダブルクリックすればOKです。互換機能パックを導入すると、拡張子XLSXやXLSMなどのファイルが旧Excelに関連づけられます。ブックを開くと次のようなダイアログボックスが表示されます。

新しいXML形式のファイルを旧Excelで開けるのは便利ですが、ここで一つ疑問が生じます。

Excel 2007は機能が大幅に改良されています。新しい関数が追加されていますし、条件付き書式も拡張されています。何よりも、ワークシートの大きさが違います。旧Excelでサポートされていない新機能を使用したブックを開いたらどうなるのでしょう。実際に試してみました。

まず、Excel 2007で追加された新しいワークシート関数を使っているブックです。

このように、Excel 2007で改良された新機能を使ったブックは、開くとき次のようなメッセージが表示されます。

[OK]ボタンをクリックするとブックを開きますが、「読み取り専用」となります。

かんじんの関数は、次のように変換されます。

ブックを開いた直後は、直前に再計算された数式の結果が表示されていますが、セルの値を編集して再計算されるとエラーになります。

このブックには、非表示の名前「_xlfn.IFERROR」が定義されます。非表示なので[名前の定義]ダイアログボックスには表示されません。

さて、条件付き書式はどうでしょう。次のように、Excel 2007で追加された新しい条件付き書式で試してみます。

このブックを開こうとすると、次のようなメッセージが表示されます。

これらの条件付き書式は、もちろん旧Excelでは無視されます。

では、4つ以上の条件を指定していたらどうでしょう。

こちらも次のような注意が表示され

4つめ以降の条件が無視されます。

今度はワークシートのサイズを調べてみましょう。旧ExcelのワークシートはIV列(256列)×65536行の大きさです。それを超える位置にデータを入力してみます。

このブックを開くと次のようなメッセージが表示されます。

そして、はみ出したデータは当然ながら消えてしまいます。

ブックを開くときの注意にも書いてあるように、範囲外のセルを参照するような計算式があった場合はエラーになります。

最後に、Excel 2007で新しくなった図の書式設定やSmartArtを試してみましょう。

四角形や円など、旧Excelにもあるオートシェイプは、そのまま変換されます。書式を設定した画像(あざらし)は、書式が設定された結果の画像として読み込まれ、旧Excelでは書式を変更できなくなります。SmartArtも、それ自体がひとつの画像と認識され、文字の編集などは行えません。

さて、このように「Microsoft Office 互換機能パック」を導入すると、Excel 2007で作成したXML形式のブックを、Excel 2003など旧バージョンのExcelで開けるようになるのですが、もうひとつExcel 2003などの旧バージョンから、XML形式で保存するという機能も追加されます。

長くなったので、こちらは別の機会に詳しく見てみましょう。