- 締切済み
EXCEL2003 開くだけで内容が変わる
EXCEL2003でファイルを開いて何も変更せず、保存もしないで終了しても 開く前のファイルと開いた後のファイルを比較すると必ず4,5バイトの変化が有ります。 (開く前にコピーしたファイルと開いた後のファイルを fc/b コマンドで比較した結果) 開く前と開いた後で変更を行ったかどうか機械的に判定したいのですが 単純にファイル比較では上手く行きません。 どうしたら良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ssfja
- ベストアンサー率57% (11/19)
poi で調べたらすぐわかりますが、 excel 2003 のファイルフォーマットは 解析済みです。 その成果を使い、比較することは、 理屈としてできると思いますが、 同じことをVBAでやった方が はるかに早くて楽でしょう。 つまり、ファイル構造がわかったところで、 単純な比較にはできません。 比較したい内容が、セルのデータや書式なら、 SSF というプロジェクトの成果物が使えます。 http://ssfja.wordpress.com/2011/05/14/3_words_on_microsoft_excel/ これはエクセルブックをテキスト形式で保存するツールです。
- imogasi
- ベストアンサー率27% (4737/17069)
私も無知だが。しかし こんなことの追求はあきらめたほうがよかろう。エクセルファイルをディスクに書き出すとき、(エクセルの保存形式・ファイルフォーマットがあるのだか、どういう項目をどういう形式で書き出すのか)どういうデータを書き出すのか、MSのエクセル開発にかかわる専門家で無いと知りえない。シートに見えている情報だけで無いだろうし。 回答を1.2日まって、回答が無ければあきらめるべき。長く、関心を持ってWEBや書籍を読んでおれば、徐々にそれらしきことは判るかも。
お礼
ご回答ありがとうございます。 内容が知りたいわけでは無く単に変更したかどうかを知りたかったのですが 難しいようですね。
補足
実験をしてみた結果、保存しない場合は ファイルサイズと更新日時が変わらないようなので これで代替してみる方向で考えています。
お礼
ご回答ありがとうございます。 内容が知りたいわけでは無く単に変更したかどうかを知りたかったのですが 難しいようですね。
補足
実験をしてみた結果、保存しない場合は ファイルサイズと更新日時が変わらないようなので これで代替してみる方向で考えています。