EXCELのファイル形式

  • スクリプトで、パスワードを設定して上書き保存できないEXCELがある
  • どうも、Excel95/97 形式は、Office2010での保存にはサポートされていないようだ
  • ググってるとこのあたりで、Officeのバイナリファイルのことが記載されている

Office バイナリ ファイル形式の理解 (MSDN)

  • よくわかんないが、「Office ビジュアライザー ツールの offvis.exe を使用すると、バイナリ ファイルのより構造的なイメージを取得できます」というのでみてみる事にする
  • BOF内の意味はよくわからないままだけど以下をみると「rupBuild」あたりで作成したバージョンがわかるようだ

バージョンの Excel ブックの記述を確認する方法 (MicroSoft)

  • 詳しい記事を探していると以下に(日本語で)詳しく書かれているのを発見

Excel 97-2003 ブック (*.xls) 形式概要 | OpenBook

  • Excel 97-2003 のそれぞれのバージョンで作成したファイルのBOFがあったので、それをもとに rupBuildの対応表を書くと以下の感じ

rupBuild値 EXCEL Ver
8169(E9 1F) Excel 95 (手ものにあったファイル/たぶん)
3729(91 0E) Exce 97
10227(F3 27) Excel 2000
10101(75 27) Excel 2002
8346(9A 20) Excel 2003
12903(67 32) Excel 2010
14420(54 38) Excel 2013?

  • この辺のことを気にしておかないと、Office系の文書にパスワードつけて保存するスクリプトを書く時には痛い目をみるので注意
    • スクリプトで一気に回して、うまく設定できなかったファイルを探すのは結構大変じゃなかろうかと・・ (^_^;;