• 締切済み

EXCEL2003 開くだけで内容が変わる

EXCEL2003でファイルを開いて何も変更せず、保存もしないで終了しても 開く前のファイルと開いた後のファイルを比較すると必ず4,5バイトの変化が有ります。 (開く前にコピーしたファイルと開いた後のファイルを fc/b コマンドで比較した結果) 開く前と開いた後で変更を行ったかどうか機械的に判定したいのですが 単純にファイル比較では上手く行きません。 どうしたら良いでしょうか?

みんなの回答

  • ssfja
  • ベストアンサー率57% (11/19)
回答No.2

poi で調べたらすぐわかりますが、 excel 2003 のファイルフォーマットは 解析済みです。 その成果を使い、比較することは、 理屈としてできると思いますが、 同じことをVBAでやった方が はるかに早くて楽でしょう。 つまり、ファイル構造がわかったところで、 単純な比較にはできません。 比較したい内容が、セルのデータや書式なら、 SSF というプロジェクトの成果物が使えます。 http://ssfja.wordpress.com/2011/05/14/3_words_on_microsoft_excel/ これはエクセルブックをテキスト形式で保存するツールです。

参考URL:
http://ssfja.wordpress.com/2011/05/22/how_to_get/
kenken2go
質問者

お礼

ご回答ありがとうございます。 内容が知りたいわけでは無く単に変更したかどうかを知りたかったのですが 難しいようですね。

kenken2go
質問者

補足

実験をしてみた結果、保存しない場合は ファイルサイズと更新日時が変わらないようなので これで代替してみる方向で考えています。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

私も無知だが。しかし こんなことの追求はあきらめたほうがよかろう。エクセルファイルをディスクに書き出すとき、(エクセルの保存形式・ファイルフォーマットがあるのだか、どういう項目をどういう形式で書き出すのか)どういうデータを書き出すのか、MSのエクセル開発にかかわる専門家で無いと知りえない。シートに見えている情報だけで無いだろうし。 回答を1.2日まって、回答が無ければあきらめるべき。長く、関心を持ってWEBや書籍を読んでおれば、徐々にそれらしきことは判るかも。

kenken2go
質問者

お礼

ご回答ありがとうございます。 内容が知りたいわけでは無く単に変更したかどうかを知りたかったのですが 難しいようですね。

kenken2go
質問者

補足

実験をしてみた結果、保存しない場合は ファイルサイズと更新日時が変わらないようなので これで代替してみる方向で考えています。

関連するQ&A

  • EXCEL2002で保存せずに終了できません

    EXCEL2002で行削除等内容をいじった後、変更されたファイルを破棄して、元のファイルを残そうとしても、「ファイルは変更されています。保存しますか」のダイアログすら出ず、いきなりBOOKを閉じて上書き保存されてしまいます。再度開いてみると、変更されたBOOKが出てきます。どこで設定すれば保存せずに終了出来るのでしょうか。教えて下さい。

  • ファイルサイズがいつの間にか勝手に変わる。

    タイムスタンプに変化がないのにファイルサイズだけが変化することってあるのでしょうか? (最後までお読み下さい) 15年前~12年前にWin98マシンで作成したMP3ファイルが数百個あります。 その後マシン買い替えのたびにコピーして現在はWin7マシンに保存されています。 最近、Win98マシンのオリジナルファイルと現在のWin7マシンのファイルを比較しました。 すると約半数のMP3ファイルについて、タイムスタンプそのままでファイルサイズだけが一定量(128バイト)増加していることが判明しました。 もちろん自分では一切変更していません。 変化しなかったファイルと変化したファイルを見比べても何も思い当たることはありません。 ファイル更新時刻が変化せずにサイズだけが増加した原因は何でしょうか? ・ファイルシステムやOSのバグ等により保存中に変化した。 ・コピーコマンド等のバグ等によりコピー時に変化した。 ・何らかのプログラムにより意図的に操作された。 どんな原因が濃厚でしょうか? (補足) なお、これら以外にタイムスタンプも変化してサイズ増加しているファイルも幾つかありますが、これはWindows Media Playerで再生した時に勝手にタグ情報が書き換えられたと思われます。

  • EXCEL2010で

    Windows7PRO、EXCEL2010使用。 旧バージョンの97-2003形式で保存されている ファイルを現在の形式に変更しようと ファイルを開いた状態で、 「名前を付けて保存」を選択すると 必ず「応答なし」となり、保存先の選択画面すら 出てきません。 「応答なし」の状態でしばらく時間を置いてみましたが 変化はありませんでした。 新規にファイル作成し、「名前を付けて保存」を 選択した場合は、正常に保存先の選択画面が でてきます。 すみませんが解決策をおおしえいただけないでしょうか?

  • Excel2000 保存できない

     Excel2000を使用しております。 OSはXPです。 環境は社内の無線LANで、サーバーよりVBAを含んだファイルを開き、作業後、日付をファイル名として(【例】20120202)コマンドボタン一発で保存し終了するシステムです。    作業の内容は製品のバーコードを読み取り、マスターのバーコードと比較し、相違がないか確認するものですが、大まかに下記の様なフローです。 (1)、サーバーより、原紙のファイルを開く。 (2)、日付にてファイル名を作成し、保存する。(別名保存) (3)、マスターのバーコードを読み取り、任意のセルに記録する。 (4)、その後、生産品のバーコードを読み取り、比較照合していく。 (5)、約9時間のこの作業を繰り返す。(バーコード読み取り数としては、2000個程) (6)、終業後、上書き保存しようとすると「保存できませんでした」と言うメッセージがでて、別名保存も出来ない。  生産ラインは4本あり、そのうち2本は問題ありませんが、内2本に問題がある状態です。 ユーザー名を確認しましたが、日本語は使用されていません。(全て半角英数)     いろいろ原因を調査しておりますが、糸口するつかめません。 同じ様なトラブルを経験された方いませんか? 対象法などわかる方いませんか?

  • 2つのファイルの内容をを後ろから比較

    2つのファイルを比較する際、DOSコマンドで「FC」や「COMP」をつかって 比較することが出来ますが、これだとファイルの頭からしか比較することが できなくて困っています。 DOSや他のソフトでもよいのですが2つのファイルの一番最後の行から 順に上に上がって比較することはできないでしょうか?

  • Excel:セルの内容が変更されない

    Excel2010(Excel97-2003ブック)で、1つのセルに関数を入力し、そのセルをコピーして、その下に何行か、貼り付けをしたのですが、セルの内容が変更されていませんでした。 一度、セルの中をクリックして、Enterキーを押さないと変更されません。 例えば、添付画像の「赤枠」が最初に関数を入力した部分でコピーしたとします。そして、貼り付けを「緑枠」にしたのですが、「緑枠」の部分が「赤枠」と同じ結果になってしまうんです。(添付画像では変更されていますが、実際は別のエクセルファイルです。) この説明で理解できたでしょうか? これは、どうすれば、セルの内容を変更できるようになるのでしょうか? 回答よろしくお願いします。

  • Excel2002立ち上げ時ツールバーoffに

    jcb3092で御座います。 また宜しくお願いいたします。 Excel2002でファイルを開くコマンドで、自分で作ったExcelファイルを立ち上げると画面上部の ツールバーと下部のコマンドバーを非表示にする方法。 広くなった作業スペースで作業終了後 上書き保存、終了で 非表示にしたツールバーとコマンドバーを元に戻してから終了する方法。 このような都合の良い手立てはございましょうか? 是非、ご教授頂けますようお願い申し上げます。

  • Excel2007の終了時の保存確認が出ない

    Excel2007の終了時の動作についてです。 通常は、既存のデータを変更した後、右上の×を押すと「保存しますか?」のダイアログが出ます。 それが突然出なくなってしまいました。 変更後×を押すと、おとなしくスッとExcelが終了してしまい、変更点が反映されていません。 ただ、新規bookで作成した場合、×を押すと確認ダイアログが出ます。 終了時のダイアログ表示の設定を変えられるところがあるのでしょうか? どなたか思い当たる方、教えてください。

  • excel2007 新規ブック作成時のvba処理

    excel2007にてVBA処理を行っています。 vbaにて 新規ワークブックを作成 最初に開いているワークブックのシートを、新規ワークブックへコピー この作業を行っているのですが、実行時に --- 移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。 --- このエラーが表示されます。 保存拡張子も「.xls」から「.xlsx」へ変更するも、互換モードの表示が外れません。 さらに原因を探ると、現在使っているPCのエクセルにて エクセルオプション→保存→ファイルの保存形式 この設定が「excel ブック」ではなく、「excel 97-2003ブック」のため、 新規ワークブック作成時に互換モードでファイルが作成されてしまうことで、2003と2007の行列数の違いからエラーになるようです。 確認のため、ファイル保存形式を2007仕様にすると、問題なく実行されました。 新旧のPCが混在するため、できたらファイル保存形式を97-2003モードで保持したまま、vbaでの新規ワークブックの作成は互換モードを外した状態で行いたいのですが、背景の色など、2007での特色があるため、2003形式には戻したくないのが心情です。 解決する方法はありますでしょうか?よろしくお願いします。

  • Excel2007で変更保存メッセージを表示したくない

    Excel2007を使用しています。 ファイルを変更して保存せずに「×」ボタンをクリックすると 変更を保存しますか? という旨のメッセージが表示されます。 これを表示させたくないのですが、 何か良い方法はございませんか? 良い方法がなければ、Sheetの中にボタンを配置して そのボタンをクリックして、そのときにファイルを保存せずに 終了させたいと思っております。 どちらかの方法で解決したいと思っておりますが、 何か良い方法はございませんか? もしよろしければ、ご教示お願いいたします。

専門家に質問してみよう