- 締切済み
Excelのブックの共有機能について。
Excelファイルをサーバーに置き、共同で作業を行おうと思っています。 2000まではファイルの排他ロックがかかったようなのですが、2002以降ではロックがかからず、誰もが同時に上書きできてしまいます。複数人で作業してしまった後、「他の人が編集したかも。コピーする?上書きする?」とか聞いてくるのですが、誰も更新してないのに聞いてくることもあるので、上書きしてしまいます。 それを気をつければいいのですが、ロックがかかったときのようにシステム的に制御したいと思っています。 で、ブックの共有機能というのがあるということを知り少し試しました。 まぁおおむねうまく行くのですが、たまにどうも出来なくなったりファイルが破損したりすることもありました。2000、2002、2003の混在環境で試した結果です。 こうすればうまく行くとか、バージョンをあわせた方がいいなどの経験情報を希望しています。 知りたいことは以下です。 (1)2002以降で排他ロックをかける方法はあるか。あるならその方法。 (2)ブックの共有機能をうまく使う方法、うまく行かない条件などの情報。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- starsip
- ベストアンサー率36% (22/60)
(1)について、VBAになりますが、2003で検証済みです。 'ExclusiveAccess メソッド '共有ファイルとして開いているブックを、ほかのユーザーが変更できないようにします。 'ExclusiveAccess メソッドを実行すると、実行したユーザーによるブックの変更内容はすべて保存されますが、 '同じブックを開いている他のユーザーは、それらの変更内容を別のファイルとして保存する必要があります。 '例:作業中のブックが共有ファイルとして開かれている場合は、排他モードに変更します。 Sub test() If ActiveWorkbook.MultiUserEditing Then ActiveWorkbook.ExclusiveAccess End If End Sub
こんばんは。 エクセルの「ブックの共有」機能は、とてもちゃちな機能です。 こんな事も一応出来るというお試しバージョンの機能にすぎません。 どのような使い方をしても、ファイルが壊れるときは壊れます。壊れる条件は特にありません。 強いて言えば、ブックの容量が肥大して壊れるのですが、肥大する条件は決まっていません。 ですので、使うのはよした方がいいでしょう。 どのような作業をしたいのか提示すれば(例えばデータベース的な使い方とか)共有機能を使わない代案があるかもしれません。
お礼
やってみました。 しかしなぜかロックはかかりませんでした… ActiveWorkbook.MultiUserEditing は、ちゃんとfalseからtrueに変わってるんですけど。 よく分からず解決できませんでしたが参考になりました。ありがとうございました。