• ベストアンサー

Excel97でファイルが…

以前にも同じような内容で質問されている方がいらっしゃいましたが、少し事情が異なるかと思いまして、質問させていただきます。 社内のネットワーク上のファイルサーバーにVBAを使用したExcelファイルがあります。 複数のPCからアクセスしているうちに、稀にファイルが破損(?)してしまうことがあります。 ファイル名が全く別の名前(ランダムな英数字のみ)になり、拡張子も無くなってしまいます。 このファイルに拡張子を付ければ再度使用することは出来ますが、全く開けない状態になることもあります。 ローカルPCなどにコピーして試してみましたが、開けませんでした。 これは、ファイルにロックのようなものが掛かってしまっているのでしょうか? ご存知の方、教えていただけないでしょうか? 因みに、ユーザーPCはWinXPで、サーバーはWin2000サーバーです。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

Excel97は厳密な排他処理が出来ません。 誰かがファイルを開いている時に他人が同じファイルを開いた場合、 「共用」指定をしていればファイル編集の優先権をチェックしますが この優先権が稀に設定されないまま処理されることがあります。 優先権が設定されない状況のまま、同一セルに同時にアクセスすると ファイル構造そのものが壊れてしまい、結果は不定になります。 これはある意味Excel97の仕様ですので回避の方法はありません。 同じExcelでも2002以降、かなりそういうことはなくなりましたが、 Excelがスプレッドシートをクライアント側で展開して処理する仕様で ある以上、絶対的には回避できない問題です。 この問題を100%回避するためには、Accessなど、そこらへんをきっちり 制御できるソフトに乗り換えるか、同時に複数がアクセスしないように 何らかの運用上の制限を掛けるかしかありませんよ。 まあ、実務的には、ファイルを開く直前にバックアップを取るスクリ プトをかませて、変になったらバックアップを使う・・・ということで 回避するのがいいんじゃないかと思いますけど。

n_sys
質問者

お礼

早速の回答ありがとうございます。 私も思っていたのですが、やはり物理的に無理がありますよね。 ファイルを開く直前に、バックアップをとって運用することも考えましたが、データベースやブラウザを使用したものも検討しています。 Excel97の、この件に関してずっと答えが見つからなかったので、肩の荷が下りました!

その他の回答 (1)

  • myeyesonly
  • ベストアンサー率36% (3818/10368)
回答No.2

こんにちは。 私もよくネットワーク経由で壊しました、(笑) 最悪のときは、壊れたファイルをエディタで開いて20項目2000レコードのデータを復活させるという神業をやった事もあります。 >(__)<彡☆ ばんばん!! 現在は、2000に移行したので、ほぼなくなりましたが、当時の私の対策で最も有効だったのは、ファイルを保存する時に「バックアップファイルを作成する」をチェックするのと、どっかに「自動保存」(確かツール→オプションのどこかだったと思いますが…)を有効にする方法でした。 自動保存時間は10分で運用していましたがそれは適宜。

関連するQ&A