Office 2003までは、こちら(http://office2007oldstyle.web.fc2.com/ofcicn/)のソフトを使用し、確認していました。
それ以上のバージョンに関して正確なバージョンを調べたいのですが、良い方法はありますでしょうか?
No.6ベストアンサー
- 回答日時:
続き:
私の知っている話を書いておきます。(手の内を明かすというほうが良いかも)
かなり専門的な話です。私自身は、多少Excelのファイルのダンプで勉強した程度です。
>かなりググって調べましたが、日本語サイトでは見つかりませんでした。
今は、少なくなりました。
OpenOffic.orgでは、過去の詳しいデータを持っていて、公開されているという話を聞きました。Javaでは、Excelファイルを直接書き込んだりしているということです。
http://www.openoffice.org/sc/excelfileformat.pdf
私の場合は、今回、直接、バイナリエディターを使いましたが、VBAでも、バイナリ検索は可能です。「Biffファイル」というファイルの構造は公開されています。解説本は、『Excel デベロッパーズ キット』という本で、昔、Microsoftから出ていましたが、高くてとても購入できる金額ではなかったのです。(;_;) しかし、英語版は手に入るらしいですが、今さらですね。
以下は、良くまとまっています。
http://mitsutakauomi.com/?p=193
MSDN(英語)
http://msdn.microsoft.com/en-us/library/cc313118 …
Jakarta POIで、Excelドキュメントを操作する
http://www.visards.co.jp/java/poi/poi5.html
>Wordでは曖昧なままということですか。
いいえ、私が不勉強なのです。自分のハードディスクの中を探して見ましたら、以下のpdf ファイルがありました。
この言葉で、ぐぐってみてください。Microsoft にあります。
「Microsoft Office Word 97-2007 Binary File Format (.doc) Specification.」
専門すぎて、あまりお役に立てないかもしれません。
おぉ!素晴らしい!w
週末だけ趣味でコード書く程度の私には何がなにやらwww
じっくり読み解いてみます!
ありがとうございます!!
No.5
- 回答日時:
#3/4 の回答者です。
今、他のファイルも調べてみましたが、Excelのほうは同じように見受けられました。
もともと、Excelのファイルフォーマットは、公開されていましたから、少し検索すれば、もっと詳しい情報は得られるはずです。(もう公開されていませんが、xlDampというツールは、Excelのバイナリー専用のダンプツールです。普通のバイナリエディターで十分ですが。)
#4のマーキングの見つけた場所は、一定していません。半分よりも後ろ側です。おそらく、最初のご質問の参照先のツールの作者レベルなら、このぐらいは問題ないはずです。私ごときでも、VBAでどうやったら良いかぐらいは分かりますから。ただ、今、ちょっと余裕の時間がないのです。
ところで、Word に関してですが、これは確実だと言える段階ではありませんね。
ただ、やはりバイナリでは違いがあります。
上位バージョンで作成した場合は、
Microsoft Word 97-2003/Word.Document.8
という文言が含まれています。つまり、上位バージョンで作成する時は、このような選択をするということと、下位バージョンではしないというだけで、それは明確なマーキングとは言えません。ただ、そういう違いが見受けられたというレベルです。しかし、これも誰かが研究し尽くしているはずです。
はい、Excelのファイルフォーマット読んだのですが、まったく理解できませんでした・・・。
Officeのファイルフォーマット自体が拡張に拡張を重ねてカオスになっているとかなんとか・・・。
なるほど、Wordでは曖昧なままということですか。
>誰かが研究し尽くしているはずです。
かなりググって調べましたが、日本語サイトでは見つかりませんでした。
英語で調べればもっとわかるかもですが、いかんせんうっすらとしか分からないもので。
ありがとうございました!
No.4
- 回答日時:
#3の回答者です。
>2007以上で作成したxls形式について調べる方法がありません。
>(質問文ツールですと、2003で表示されます。)
2007以上で作られたものとの違いで、今の所、全部のシートに当たっていないのですが、大きな違いがありました。
今のところ、Excelだけですが、2003と、それ以上で作られたものでは、、
ダンプしてバイナリで覗いてみると、
2003側には、
一番、最後に
Microsoft Office Excel Biff8 と出てきます。
BIFF8 形式とは、Excel97~2003フォーマットのことです。
それ以上のもので(Excel 2010)作られたものには、
DocumentSummaryInformation8 と出てきました、
もう少し、十分に検証すべきものがあるとは思いますが、だいたい、こういう所に落ち着くような気がします。
http://office.microsoft.com/ja-jp/excel-help/HP0 …
No.3
- 回答日時:
#1さんの引用先のコードは、私もC++でコンパイルして作りましたが、それは下位バージョンで、バイナリコードの中を調べるプログラムです。
おそらく、質問に出ていたそのツールも原理的には同じだと思います。バイナリの場合は、それが出てきます。今後、Microsoft はどういう対応をするか分かりませんが、2007以上は、もともと、テキストファイルで、「Open XML」で書かれていますから、中身を調べれば分かるはずです。
xlsx などのファイルの拡張子を、zipに換えて、
docProps フォルダののapp.xml ファイルをオープンして、
<AppVersion>○○.○○○○0</AppVersion>
という所を探せば、2007 なら、12.0
2010 なら、14.0
と出てくるはずです。
比較的構造は簡単なので、簡単なマクロで可能だと思いますが、好きな人は作るのではないかと思います。(たぶん、unzip.dllの呼び出しが必要かな?)
この回答への補足
これで大方解決なのですが、
xlsx→XMLの中身を見る
(2007以前の)xls→質問文ツール
なのですが、
2007以上で作成したxls形式について調べる方法がありません。
(質問文ツールですと、2003で表示されます。)
#1の方法で、判別できるのでしょうか?
また、何か妙案はございますでしょうか?
No.2
- 回答日時:
ファイルのプロパティ:
私の環境は、XPでEXCEL、WORDどちらも2000ですが、
EXCELは、日付(古いのは96とか)に関係なく?、「Microsoft Excel」としか表示されないようです。
WORDは、日付によって、WORD6.0、WORD8.0、WORD9.0、と違いがあり、ちゃんとバージョンが入っているようです。
こういうのもあるようです。これなら大体分かりますね。
Microsoft Office Excel ワークシート
Microsoft Office Excel 97-2003 ワークシート (.xls)
Microsoft Office Excel ワークシート (.xlsx)
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) このOfficeのバージョンは? 5 2022/08/15 14:07
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- Excel(エクセル) Excelのセルの書式設定「通貨」で(\1,234)の選択肢が消えてしまった 2 2022/08/01 10:32
- ノートパソコン Excelの同一ブック内のシートを、左右に並べて入力したい 1 2022/12/24 07:34
- PowerPoint(パワーポイント) パワーポイントのマスター機能 3 2023/05/23 18:17
- その他(Microsoft Office) Excel、Wordのファイル 3 2023/05/07 04:58
- Excel(エクセル) Excel 2019 32ビット・バージョンを➡64ビット・バージョンに 3 2022/09/11 12:49
- Outlook(アウトルック) メーラーにメールをインポート 1 2022/11/27 18:32
- その他(Microsoft Office) office2016のパソコン2台インストール 2 2023/03/07 17:35
- その他(Microsoft Office) Office Home & Business 2021で外付けHDにあるファイルを開く方法 3 2022/06/08 22:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Latexで図番号だけを「図1.1」...
-
jarファイル
-
VBで「.tif」または「.pdf」...
-
.NETアプリを作ったときの .man...
-
#include <Windows.h>というヘ...
-
MFCのダイアログのリソースが更...
-
アクセス 壊れた? 「ファイ...
-
バッチ処理で追記コピーしたい
-
Batファイルをバイナリ形式にす...
-
アクセス権のチェック方法について
-
fstatでファイルがリンクかどう...
-
vbsにてショートカットが存在す...
-
自分で作成した重要ファイルを...
-
exeファイルをデータ転送サービ...
-
JSPが表示されない
-
VBAでのicsファイル変換
-
binファイルを解凍したいの...
-
FILEHANDLE って
-
公文書のxmlファイルの開き方が...
-
シリアル(RS232C)通信でファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneでXMLファイルを開くには...
-
公文書のxmlファイルの開き方が...
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
#include <Windows.h>というヘ...
-
jarファイル
-
Seasar2のdiconファイルの読み方
-
Word VBA MSGBOX 内で降順表示
-
監視ツールを入れさせられまし...
-
CSSを1ページに1枚作るのって変...
-
コマンドプロンプトで、指定し...
-
ファイルが開かれているかどう...
-
exeファイルをデータ転送サービ...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
Latexで図番号だけを「図1.1」...
-
参照するファイルをワイルドカ...
-
バッチ処理で追記コピーしたい
おすすめ情報