本日、5月12日より、かねてより長く提供されてきた古いPC向けのGoogle Driveアプリがシャットダウンされます。これから数週間かけて実施されますが、知らない間にGoogle Driveとの同期ができなくなっていて無残な事になったり、また、新しいサービスであるGoogle Drive File StreamやBackup Syncへ移行するにあたって、いきなり移行という面倒な事にならないよう、今すぐにでも、準備しておくべきでしょう。

とりわけ、今回はGoogle Drive File Streamを使ってみたいと思います。新機能は業務で活用する上でどこまで役に立つか?その辺を中心に検証してみました。

インストールファイル

Windows用とMac用にそれぞれ新アプリが用意されています。旧Google Driveアプリはアンインストールする前に、中身をよく確認しておきましょう。

概要

Google Drive File Streamの特徴

Google Drive File Streamとは、G Suiteユーザが利用できる機能で、通常の個人アカウントの場合には、「Backup and Sync」というものを今後は利用することになります。但し両者は同じサービスではありません。今回取り上げているGoogle Drive File StreamはG Suiteユーザだけが利用できるシステムです。

Drive File Streamですが、その名の通りファイルをストリーミングしながら利用できるこれまでのGoogleドライブアプリとは少し方向性の異なる仕組みです。主な特徴は

  1. ファイルをストリーミングしながら利用するので、ローカルドライブの消費量が少ない
  2. 同期作業が自動なので不要である。
  3. 見た目はこれまでのGoogleドライブアプリと似ている
  4. G Suite Business以上はチームドライブ機能が利用できる
  5. ストリーミングだけれど、オフラインでも使用する機能がついている。
  6. Windowsの場合、Gドライブにマウントされ、エクスプローラで普通に閲覧編集が出来る。
  7. VBAにて、同じディレクトリ内にある別のファイルの参照も大丈夫!
  8. Gitのソースリポジトリに追加してもきちんと動作する

但し、注意点もあります。

Windowsの場合マウントされる時にドライブレターが用いられてローカルドライブのように使えるのですが、通常はGドライブが割当られます。しかし、マウントされる前にGドライブが利用されている場合、次のドライブレターが割当られてしまうので、ショートカットなどを作ってると、動かなくなる事もあります。

図:インストール直後のDrive File Stream

使用する為の準備

使用するためには、管理コンソールより使えるように設定をしてあげる必要があります。

  1. アプリ⇒G Suite⇒ドライブとドキュメントを開きます。
  2. 機能とアプリケーションを開きます。
  3. 組織でのドライブファイルストリームの使用を許可するにチェックを入れる
  4. 古いドライブアプリはアンインストールしておく
  5. 古いドライブアプリで使用していたフォルダは削除しておく。
  • Windowsの場合の古いフォルダ:C:¥Users¥%USER%¥Google Drive
  • Macの場合の古いフォルダ:/Users/$USER/Google Drive

これで利用が出来るようになります。また、Google Drive側の設定でアップロードしたファイルを変換するにチェックを入れておくと、ExcelなどのファイルがGoogleスプレッドシートへ自動変換されてしまうので、チェックは外しておきましょう。

図:管理コンソールでの設定

図:ドライブ側の自動変換の設定

実際に使用してみる

Google Drive File Streamを起動して、まずはログイン。いつものG Suiteアカウントでログインします。

実際にアップロードして編集してみる

実際にDrive File StreamのGドライブへファイルをコピーして編集をしてみました。その時の挙動は以下の通り。

  1. ファイルのサイズによりアップロードされる時は時間が掛かる。
  2. 開く時はスパッと開かれる。
  3. 上書き保存もきっちり行われる。
  4. Excelファイルを編集するとその分だけきちんと版違いとして直ぐに保存され反映される。

図:保存するたび版が積み上がっていく

VBAで他のファイルを参照してみる

2つのExcelファイルがあり、一方はVBAを記述してあるxlsmファイル(test.xlsm)、もう一方はデータの入ってるxlsxファイル(data.xlsx)。このファイルに於いて、VBAが入ってる側へデータの入ってるxlsxから転記するコードを実行してみました。データファイルは同じディレクトリ内のdata.xlsxを参照させています。

実際にやってみました。きちんとコードは実行され、同じディレクトリ内のxlsxファイルのデータから値を取得することが出来ました。

Excelで他のシートへの参照

本来、Excelのファイルにて他のファイルのシートを参照するような数式を書いてデータを流用する手法は避けるべきです。しかし、現実の現場ではそういった数式でデータの二次利用をしているケースは多数見受けられます。他のクラウドのストレージサービスの場合、こういったブック間リンクを用いたものは、当然利用出来ません。

そこで、Drive File Streamを使った場合はどうかやってみました。Gドライブ上に2つのファイルを作成し、データの入ってるdata.xlsxとそのデータを参照するlinksheet.xlsxの2つを使って、数式を入れ値を参照させました。その後、data.xlsxの一部のデータを書き換えて保存。再度、linksheet.xlsxで参照を更新してみました。

きちんと別のファイルも参照を更新すると値を取得することができました。既存のファイルサーバから移行する場合、スムーズにGoogle Driveの場合は移行が可能ですね。Boxなどで同じような環境を実現する場合、Box Syncを利用すると実現が可能なようです。

図:更新すると値はきっちり参照できました。

Accessでリンクテーブル

Accessのファイルでも試してみました。GUI部分のaccdbファイルと、データを格納するaccdbファイルの2つで構成されてるファイルで、起動時に同じディレクトリ内のデータを格納するaccdbファイルへリンクテーブルを自動的に貼るようにコードを記述してあります。

実験してみた所、問題なく動作しました。ファイルサイズが大きいため、若干起動が遅い部分はありましたが、リンクテーブルはきちんと動作していました。小規模なデータであれば回線が細くても十分利用出来ると思います。ちなみに、起動時に自動でリンクするコードは以下のようなコードを利用しています。

AccessでExcelオートメーション

AccessからExcelのファイルに対してデータの書き込みは直接ではなく、Excelオートメーションを利用して書き込みます。テンプレートとして用意してあるExcelファイルをコピーし、そのファイルに対してAccessのクエリデータを書き込みさせてみました。

結果、無事にクエリデータを4つのシートに渡って書き込みが無事に出来ました。十分なスピードで動作します。ちなみに、Excelオートメーションで書き出しコードは以下の通りです。

オフラインで利用する

オフラインでも利用できるようにする為には、Drive File Streamのドライブ内のディレクトリで

  1. 右クリックする
  2. ドライブファイルストリームを開く
  3. オフラインで使用可能にするをチェックする

これでローカルPCがオフラインでも利用可能になります。

図:ローカルPCの使用量は増えますが

関連リンク