
事務所内での情報共有、どうされていますか?

共有サーバーにあるエクセルファイルをみんなで閲覧したり、編集したりしているんですが、『読み取り専用』になっていて編集できなかったり、誰かが開いたままで保存できなかったりします。タイミングによっては、番号のついた別のファイルができてしまう場合もあって、困っています。

「共同編集」という機能もありますが、OneDriveを使用していない環境では使えないのが欠点ですよね。

かといって、本格的なデータベースソフトを導入するのはハードルが高いですし……。もっと手軽に、みんなで一つのデータを管理できないでしょうか?

分かりました。エクセルファイルを「閲覧・編集用」と「データ保管用」に分けることで、少人数での共同編集をスムーズに行えるアドインを作ってみましょう。
サンプルのダウンロード
Windowsをご利用の場合は、こちらの統合版をダウンロードしてください(自動でインストールできます)。
Macをご利用の場合は、こちらをダウンロードして手動でインストールしてください。
インストールマニュアル
操作マニュアル
マニュアル
仕組み
VAブリッジは、2種類のExcelファイルを使います。
- マスタファイル:データを保管するファイルです。共有フォルダ(サーバー)に1つだけ置きます。利用者がマスタファイルを直接開くことはありません。
- 利用者のファイル:データを見たり、編集したりするファイルです。開くとマスタファイルからデータを読み込み、編集した内容をマスタファイルに書き込みます。利用者のファイル自体は保存しません。
編集できるのは、同時に1人だけです。編集を始めると、マスタファイルと同じフォルダに「マスタファイル名.ユーザー名.lock」という小さなファイル(ロックファイル)を作り、ほかの人は閲覧だけになります。
ボタン
リボンの「VA」タブの「VAブリッジ」グループに、次の3つのボタンがあります。Windowsでは、「データ読み込み」と「データ書き込み」が、クイックアクセスツールバー(画面の左上)にも追加されます。
- データ読み込み:マスタファイルから最新のデータを読み込みます。閲覧モードか編集モードかを選びます。
- データ書き込み:編集した内容をマスタファイルに書き込み、閲覧モードに戻ります。
- マスタ設定:利用者のファイルのシートと、マスタファイルのシートを結び付けます(初めの準備で使います)。
初めの準備
管理する人が、一度だけ行います。
- マスタファイルを作る:共有フォルダにExcelファイルを作り、データの表をテーブル([挿入]タブの「テーブル」)にします。1つのシートに置けるテーブルは1つだけです。
- 利用者のファイルを作る:別のExcelファイルに、マスタと同じ見出しのテーブルを作ります。列の数・順番・見出しの文字は、マスタと同じにします(シート名は違ってもかまいません)。
- Shiftキーを押しながら開く:利用者のファイルを、Shiftキーを押したまま開きます。Shiftキーを押して開いたときだけ、データの読み込みをせず、上書き保存ができます。
- マスタ設定をする:「マスタ設定」を押し、「
参照...」でマスタファイルを選びます。「シート選択」で利用者のファイルのシートを、「マスタシート選択」でマスタファイルのシートを選び、「保存」を押します。シートが複数ある場合は、シートごとに繰り返します。 - 上書き保存する:利用者のファイルを上書き保存します。設定は、利用者のファイルの中に保存されます。保存したファイルを、利用者に配ります。
設定を外すときは、「マスタ設定」でシートを選んで「削除」を押します。
使い方
ファイルを開く
利用者のファイルを開くと、すぐに「マスタファイルのデータを読み込みます。」の画面が出ます。どちらかのモードを選ぶと、データが読み込まれ、「閲覧モードで読み込みが完了しました。」または「編集モードで読み込みが完了しました。マスタファイルをロックしています。」と表示されます。
- 閲覧モード:データを見るだけのモードです。シートは保護され、データは変えられません。オートフィルタの絞り込みは使えますが、並べ替えはできません。ほかの人が編集していても、待たずに開けます。
- 編集モード:データを変えたり、行を加えたりするモードです。表の色が変わり(初めの設定ではオレンジ色)、ほかの人は編集できなくなります。
閲覧モードで開いた後に編集したくなったときは、「データ読み込み」を押して、編集モードを選び直します。
編集して書き込む
- 編集する:編集モードで、データを変えたり、表の下に行を加えたりします。
- データ書き込みを押す:「書き込みが完了しました。閲覧モードに戻ります。」と表示され、表の色が元に戻ります。続けて編集するときは、もう一度「データ読み込み」で編集モードを選びます。
閉じる
- 編集モードで、書き込んでいない変更があるときは、閉じるときに「マスタファイルにデータを書き込みますか?」と表示されます。「はい」で書き込んでから閉じ、「いいえ」で書き込まずに閉じ、「キャンセル」で閉じるのをやめます。
- 利用者のファイルは、保存せずに閉じます。ほかにExcelのファイルを開いていない場合は、Excelごと終了します。
ほかの人が編集しているとき
- ほかの人が編集モードで開いているときに「データ読み込み」をすると、「現在、ユーザー [名前] が編集中です。閲覧モード(読み取り専用)でデータを読み込みます。」と表示され、閲覧モードで読み込みます。
- 編集モードを選んだときに、ほかの人がわずかに先に編集を始めていた場合は、「既に他のユーザー (名前) が編集を開始しています。」と表示され、閲覧モードになります。
- 自分が読み込んだ後に、ほかの人がマスタファイルを更新していた場合は、書き込もうとすると「マスタファイルが他のユーザーによって更新されています。」と表示され、書き込みを中止します。表示される手順のとおり、自分が変えたデータを別のファイルに写してから「データ読み込み」をし、変えた箇所を貼り付け直して、もう一度書き込んでください。
注意点
- 利用者のファイルは、上書き保存できません(「セキュリティ確保のため、このファイルの保存は禁止されています。」と表示されます)。データは、必ず「データ書き込み」でマスタファイルに書き込んでください。開くときに、自動保存もオフになります。
- 読み込みのたびに、利用者のファイルの表は、マスタファイルの内容(セルの色などの書式も含む)に置き換わります。書き込みでは、マスタファイルの表のデータを、利用者のファイルの表の値ですべて置き換えます。数式は、計算結果の値として書き込まれます。
- 利用者のファイルとマスタファイルで、表の見出しが一致しないシートは、読み込みも書き込みもしません(読み込みのときは、そのことが表示されます)。
- 編集モードのままExcelが異常終了すると、ロックファイルが残り、ほかの人が編集できなくなります。同じ人が利用者のファイルを開き直せば、編集モードを選んで続きを編集できます(閲覧モードを選ぶと、ロックファイルは消えます)。その人が開き直せない場合は、マスタファイルと同じフォルダにある、その人の名前の付いた「.lock」で終わるファイルを削除してください。
- 「マスタファイルのデータを読み込みます。」の画面を「×」やEscキーで閉じると、読み込みをやめます。このとき、表に行が1つもない場合は、利用者のファイルを閉じます。
- 読み込み・書き込みの途中で、クリップボード(コピー・貼り付け)を使います。読み込み・書き込みの間は、ほかの作業でコピー・貼り付けをしないでください。
- Mac版のExcelでは、データの書き込みはできません(「Mac環境での書き込みはサポートされていません。」と表示されます)。
管理者向けの情報
VBAコード
このアドインは、VBAコードが閲覧・編集可能な状態で公開されています。cstSettingsモジュールの定数を修正することで、各種設定を変更できます。
ユーザー定義処理
VABridge_AfterLoad(読み込み後)およびVABridge_BeforeSave(書き込み前)という名前のプロシージャをユーザーファイルの標準モジュールに作成することで、独自の処理を自動実行させることができます。


コメント
仕様を、利用者向けのマニュアル(仕組み・ボタン・初めの準備・使い方・注意点)に置き換えました。