法律事務所は、データの共有を行っているところが多いと思いますが、その方式は様々です。
このサイトで紹介している「VA電話メモ」のようなデータベースの場合、単にファイルを共有するだけではなく、同時に編集できることが必要です。
これを実現するための方法としてエクセルで利用できるものには、次の4つがあります。
ブックの共有
ひとつは、「ブックの共有」と呼ばれる旧来からの方法です。この方法を使えば、OneDriveに限らず、ファイルの共有ができていれば、エクセルを同時に編集できます。ただし、使っているうちにデータが肥大化するなどの問題点があり、また、古い機能であるためテーブルなどの新しい機能が使えないという制約があります。
共同編集
もうひとつは、「共同編集」と呼ばれる新しい方法です。この方法を使うためには、OneDriveを利用しなければなりません。「ブックの共有」のような機能上の問題や制約はありませんが、ファイル自体にパスワードを設定することができず、マイクロソフト社にファイルの内容をさらさなければならないという欠点があります。
各種データベース
もちろん、これ以外にも、専用の業務管理システムを導入したり、mySQLなどのデータベースを構築したりできれば何も悩むことはないのですが、いろいろな事情でそういった環境が整えられない法律事務所は多いと思います。
CSVファイル
そこでVBAアセットでは、CSVファイル(データの区切り文字にカンマではなくタブを用いたTSVファイルを含む)を利用してデータを共有するというスタイルを採っています。
簡易的な共有方法ですので、排他制御が完全とは言えません。特に各PCにデータがスプールされているシステムにおいては、Aが入力したデータをBとCが別々に修正した場合、Bの修正だけが反映される危険性を完全に排除することはできません。
ただし、利用するユーザーが数名で、入力されたデータを他の人が修正する頻度が低い場合であれば、実用上は問題にならないでしょう。
また、処理速度の問題は、1つのCSVファイルにまとめる処理を加えることでクリアできます。
なお、CSVファイルをパワークエリで読み込むという方法もあります。ただし、筆者の環境では十分な速度が得られませんでした。
各共有法の比較
下の表は、これらの方法の長所と短所をまとめたものです。
共有法 | 長 所 | 短 所 |
ブックの共有 (レガシ) | ファイルの共有ができていれば、他に必要な条件がない ファイル自体にパスワードを設定できる 排他制御がほぼ完全に行われる | テーブルなどの新しい機能が使用できない マクロを編集するためには、共有を解除しなければならない 徐々にファイルサイズが増大するので、定期的に共有を一旦解除しなければならない スプールが行われている環境ではファイルが重複する |
共同編集 | マイクロソフトが推奨する方法であり、最も安定しているはず 使用できる機能に制約がない 排他制御が完全に行われる | OneDriveを使用する必要(セキュリティ上の懸念)がある 必ずしも安定していない(個人の見解です) マクロが使用できない(当方の環境での状況です) |
mySQLなどのデータベース | 大量のデータを確実に管理できる 使用できる機能に制約がない 排他制御が完全に行われる | クラウドサーバーを使用する場合、セキュリティ上の懸念がある データベースの導入・維持に手間がかかる ここまでやるのなら、何もエクセルを使う必要がない(個人の見解です) |
CSV(TSV)ファイル | ファイルの共有ができていれば、他に必要な条件がない エクセルファイル自体にデータを残す必要がない | 排他制御が完全ではない データが複数のファイルに分散する |
コメント
VBAアセットでは、「各人別ファイルを利用してデータを共有する」というスタイルを採っていましたが、「一時データファイルを利用してデータを共有する」に改めました。
「各人別ファイル」には、「他のユーザーのデータの読み込みに時間がかかる」、「システムの改修時に全ユーザーの使用を停止する必要がある」などの問題がありました。
「一時データファイル」を利用することで、それらの解消を図りました。
データ共有のためにCSVファイルを一時的にではなく、恒常的に利用する方式に改めましたので、それに伴う修正を加えました。
パワークエリに関する記述を追加しました。