エクセルの97-2003形式ワークシートを変換する方法をお探しですね。

仕事でエクセルを使っていると、ファイル名の最後に「.xls」とか「.xlsm」といった違う文字がついているのを見かけることがありますよね。

特に取引先から送られてきたファイルや、会社の古いシステムから出てきたデータには、昔の形式である「xls」が混ざっていることもよくあります。

この記事では、エクセルの「xls」と「xlsm」の大きな違いや、古い形式をそのまま使い続けることの問題点、新しい形式への変え方、そして互換性のトラブルを安全に解決する方法を、わかりやすく説明していきます。

広告

エクセルの拡張子「xls」「xlsx」「xlsm」って何が違うの?

エクセルのファイル形式にはいくつか種類がありますが、仕事でよく見かけるのは「xls」「xlsx」「xlsm」の3つです。

この3つの一番大きな違いは、どのバージョンのエクセルで作られたかと、マクロ(VBA)という自動化プログラムを入れられるかどうかという点です。

それぞれの特徴をちゃんと知っておくと、エクセルでのトラブルをグッと減らせます。

まず「xls」ですが、これはExcel 97からExcel 2003まで使われていたかなり古いファイル形式です。

当時はこの拡張子が当たり前で、普通のデータもマクロ入りのデータも、全部同じ「xls」という名前で保存されていました。

でも、この仕組みには大きな問題がありました。

ファイルを開いてみないと、中にマクロが入っているかどうかわからないので、悪意のあるプログラムをこっそり仕込まれやすかったんです。

セキュリティ的にかなり弱かったわけですね。

そこで、Excel 2007以降に新しく登場したのが「xlsx」と「xlsm」です。

マイクロソフトはセキュリティを根本から強化するために、マクロが入っていない普通の安全なファイルを「xlsx」、マクロの実行を許可したファイルを「xlsm」とハッキリ分けることにしました。

これで、ファイルを開く前に拡張子を見るだけで「このファイルにマクロが入っているかどうか」がすぐわかるようになったんです。

今エクセルを使うなら、基本は「xlsx」を使って、マクロを組み込むときだけ「xlsm」を選ぶのが正しい使い方です。

古い「xls」形式(97-2003)をそのまま使うとどうなる?

今でもエクセルの「互換モード」を使えば、古い「xls」形式のファイルを開いたり編集したりできます。

でも、そのまま使い続けるのはあまりおすすめできません。

簡単な表計算くらいなら一見問題なさそうに見えますが、実は見えないところで仕事の効率が落ちたり、セキュリティに悪影響が出たりするリスクがあるんです。

具体的にどんなデメリットがあるかというと、こんな感じです。

– 扱えるデータの量(行数・列数)がかなり少ない
– ファイルサイズが大きくなりやすくて、動きが遅くなる
– エクセルの新しい機能や便利な関数が保存されない

例えば、新しい「xlsx」や「xlsm」形式なら104万行以上の大量データを扱えますが、古い「xls」形式だと約6万5千行までしかデータを保存できません。

また、エクセルがバージョンアップして追加された便利な関数や、データを見やすくする新しい表示機能を使って表を作っても、xls形式で保存しようとするとその機能は消えてしまうんです。

さらに深刻なのが、セキュリティ面の問題です。

xlsファイルはマクロが入っているかどうかがパッと見てわからないので、最近ではサイバー攻撃に使われることが増えています。

会社によっては、情報漏洩やウイルス感染を防ぐために、社内ネットワークでxlsファイルのやり取りをシステム側でブロックしているところもあります。

だから、特別な理由がない限りは古い形式を避けて、なるべく早く新しい形式に変えることをおすすめします。

保存するときに出る「互換性チェック」って何?変換の仕方は?

古いxls形式のファイルを開いて編集して、そのまま上書き保存しようとすると、「Microsoft Excel – 互換性チェック」という警告メッセージが出ることがあります。

これは、「新しいエクセルの機能を使って編集してるけど、古い形式のまま保存するとその新機能が消えちゃいますよ」というシステムからのお知らせです。

このメッセージが出たときに、よく読まずに「続行」を押してしまうと、せっかく設定した新しい書式や関数が消えた状態で保存されてしまうことがあります。

編集した内容をちゃんと残したまま保存するには、メッセージ画面で「キャンセル」を押して、ファイル形式を新しいものに変換する必要があります。

変換の手順はとても簡単で、エクセルの「ファイル」タブから「名前を付けて保存」を選んで、ファイルの種類を変えるだけです。

マクロが入っていない普通のデータなら「Excel ブック(*.xlsx)」を選んで、マクロが入っている業務ツールなどなら「Excel マクロ有効ブック(*.xlsm)」を選んで保存しましょう。

これで新しい拡張子のファイルができて、次からは互換性チェックの警告が出ずにスムーズに上書き保存できるようになります。

ちなみに、変換した後は古いxlsファイルと新しいファイルがパソコンの中に2つある状態になるので、間違えないように古いファイルは別のフォルダに移すか削除しておくといいですよ。

xlsファイルのマクロが動かない?「xlsm」への変換と気をつけること

取引先からもらった古いxlsファイルや、昔社内で作られたxlsファイルを開いたとき、入っているはずのマクロが全然動かないというトラブルがよく起こります。

これは、新しいバージョンのエクセル(Excel 2013以降など)に付いている、厳しいセキュリティ機能が原因であることがほとんどです。

最新のエクセルは、信頼できないと判断した古い形式のマクロを自動的に無効にして、ブロックする仕組みになっています。

オプション画面のセキュリティセンターから「すべてのマクロを有効にする」設定に変えれば動くこともありますが、これはウイルス感染のリスクを高めるのでとても危険です。

ちゃんとした安全な解決方法は、そのファイルを「名前を付けて保存」から「Excel マクロ有効ブック(*.xlsm)」として保存し直すことです。

ファイル形式をマクロ実行が正式に許可された新しい規格にアップデートするだけで、マクロが正常に動くようになることも多いんです。

ただし、xlsm形式に変換してもまだマクロが動かない場合は、VBAのプログラムコード自体に互換性の問題があるかもしれません。

古いエクセルでしか動かない書き方が残っていたり、パソコンのOSが32ビット版か64ビット版かの違いでエラーが出ているケースが考えられます。

また、他のエクセルファイルとデータを連携している(外部参照・ブックリンクがある)場合、拡張子をxlsからxlsmに変えるとリンク先のファイル名が変わってしまうので、リンク切れを起こすこともあります。

まずは安全なxlsmへの変換を試してみて、それでもエラーが直らない場合は、詳しいITサポートやマクロを作った人にコードの修正をお願いしてみてください。

広告