中地階から

アングラではないけれど、メジャーとはいえないようなアレコレ。まさに中地階。有用無用にとらわれず取り上げます。

Excel(古い形式のファイル)を見ただけで足跡が付く仕様

Excelでかつて使われていた形式 ( 拡張子が「.xls」で、現在の「.xlsx」ではない方 ) のファイルには、一人分の足跡機能があります。

…もちろん足跡を見るためのものではなく、用途が全く謎な仕様です。

具体的にどんなものなのかというと、

「ファイルを開いただけで、現在のユーザー名がファイル内に記録されてしまう」

という仕様です。

通常、ファイルを開いて何も変更せずに閉じれば、データは1バイトも変更されないはずですが、Excelはそうはいかないようです。

実験してみましょう。

まず、適当なファイル「Book1.xls」を作成し、フォルダ内にコピーします。

この2つのファイルを比較します。コピーしただけなので、当然ですが同一の内容です。

次に、「Book1 - コピー.xls」をExcelで開きます。

…なぜか、開いているファイルの「更新時刻」が現在時刻になっています。

ファイルを見ただけということで、何も編集せずにExcelを閉じます。

その後フォルダを見ると、更新時刻は当初のものに戻され、画面上では何も変化がないように見えます。

再びファイルを比較してみます。すると…

選択した部分が密かに変更されています。

Book1.xlsの方は「foobar」と記録されている箇所が、先ほど開いてすぐに閉じたはずの「Book1 - コピー.xls」では「Userar」となっています。

公式な記述が見当たりませんが、この部分には「ファイルを開いた時にログインしているアカウント名」が記録されるようです。

この実験でも「Book1.xls の作成時」と「Book1 - コピー.xls を開いた時」とで、ログインしているアカウント名を切り替えました。

前者は "foobar" で、後者は "User" でログインしていたのです。

当初記録されていた "foobar" に "User" が上書きされたため、上の画像のような状態になったのです。

ファイルの更新時刻は変化していないのに内容が異なってしまうのがたちの悪いところです。

対処法としては、今回の実験のように「ファイルをコピーして開く」しかありません。

この仕様はExcelだけで、WordやPowerPoint ( いずれも古い保存形式 ) ではこのようなことはありません。

また、現在の保存形式 ( 拡張子が .xlsx ) もこのような仕様はなく、あくまで「Excelの古い形式のファイル」のみで発生するものです。

バイナリエディタでも使わない限りわからないものですが、いったいなぜこんな「一人分の足跡」がつくのか、謎です。

古いExcelのファイルを見てみたら、懐かしい名前が出てくるかもしれません。