このファイルは「.xls」?「.xlsx」 ?

元のファイル形式を見破る

Excel の保存形式の選択で、拡張子(ファイルの種類)を変えることは容易なものです。しかし一つのデータをあらゆる段階で取り扱うことから、ファイルの形式を誤って変えてしまうケースも有り得ます。

それは別ファイルへのシートコピーであったり、Office のバージョンが異なる者同士でのファイル共有であったり、様々あることでしょう。事と次第では、前回記事にあるような対策を施しても、問題解決しない時がやってくるかもしれません。

ファイル名や拡張子に惑わされず、ファイルの形式を知るには様々な手段があります。

先ず開く

下図のような警告が出た場合、テキストエディタ/メモ帳などで開いてみましょう。『CSV ファイルは Office で開ける』、『拡張子は違っても Excel には変わらない』などの考えから、拡張子をファイル名から手動で変えてはいないでしょうか。あるいは自作のアプリケーションなどで、最終的に出力するべきファイル形式を単純設定していないでしょうか。

f:id:xoblos:20161207180556p:plain

 

開いてからファイル名を見る

古いバージョンは、下図のように [互換モード] として明示されます。

f:id:xoblos:20161207180604p:plain

 

ファイルの中身を見る

下図、いずれも [互換モード] の明示が無く、拡張子も xlsx なので問題無さそうですが‥‥

f:id:xoblos:20161207180610p:plain

ズーム比率がどちらも「100%」であるにも拘らず、編集画面の見た目(行列の大きさ)に明らかな差がありますね。

左側「新規1.xlsx」はファイルそのものを新規作成したものですが、右側「新規2.xlsx」は元々古いバージョンで取り扱われていたファイルから、シートを新規作成したものです。 どこかしらの過程で上図のように「xlsx」で保存し、シートを新規追加しても、あくまで元のバージョン形式として扱われていることになるので注意が必要です。

何故ならこれにより、制御ファイルの雛形(テンプレート)シートと、生成結果シートのイメージに差が出てしまうからです。

各ファイルの形式は合わせるようにし、一から作成することを心掛けましょう。 古いバージョンを知らず知らずコピーして使い回すと、思わぬ落とし穴が待っているかもしれません。

 

それでも一から作成は大変

レイアウトを崩さないようコピーするには、Excel の行選択とオプション貼付を使います。

※セルのデータ部分の全選択では充分にコピーされません。

・セルのデータ部分の全選択と貼付

f:id:xoblos:20161207180619p:plain

     →列幅、行高が反映されていません。

 

・行選択とオプション貼付

f:id:xoblos:20161207180627p:plain

f:id:xoblos:20161207193525p:plain

     →列幅、行高もきちんと反映されました。

※どうしてシートのコピーをしないのでしょうか。

シートのコピーは、コピー元の「名前の定義」なども反映されます。無論、全て必要な情報であるならばシートのコピーで問題ありませんが、不要な定義を持ってきて、無駄な容量や処理弊害を得るのは避けるべきなのです。