Google Spreadsheetを使って、タスク管理やスケジュール管理を行っている方が多くなっています。シートが多くなればなるほど、一元管理が難しくなる傾向があるように思います。同じ形式のシートを何枚も同じ動作で管理するのが大変になりますね。このページでは、Google Apps Scriptを一つにまとめることで複数のスプレッドシートの動作を制御する方法をお伝えします。
構想
複数の同じ形式のスプレッドシートに付属してつけることができるスクリプトに、共通のスクリプトのライブラリを組み合わせることで実現できるようにします。
複数のスプレッドシートを用意
テストする場合は、フォルダを作り、その中に複数のスプレッドシートを作成してください。すでに作成済みであれば構いませんが、まずはテストファイルを作ることをお勧めします。こんな感じです。
共通のスクリプトを入れるフォルダを作成
後でわからなくならないように、フォルダを作成してこの中で管理しましょう。通常は、「include」や「script」などのフォルダを使うのが一般的です。
Scriptファイルを作成
フォルダにアクセス後、「新規作成」でGoogle Scriptを作成しましょう。このボタンがない場合は、アプリを追加することでボタンが表示されるようになります。このボタンはGoogleが公式でリリースしているものなので、会社内で使うとしても比較的安全だと思います。
作成できました。
このようにスクリプトファイルが作成できたらOKです。
共通のスクリプトの設定
このファイルに共通のスクリプトを入れます。作成済みの関数があれば入れてください。左上のファイル名は、後々クラスとなって、使用するものなので、英語で完結にまとめてください。_などは、自動でGoogleにより削除され最適化されてしまいます。
公開したくない関数
関数名に_をつけると、その関数は公開しないものになります。
公開する関数
1 | function myFunction() {} |
公開しない関数
1 | function myFunction_() {} |
バージョンを設定する
「版を管理」を選択して、現在のバージョンを保存します。このバージョンがないと使用することができません。分かりやすい任意のものを使用してください。
スクリプトIDを取得する
ファイル > プロジェクトのプロパティをクリックしてください。
この画面のスクリプトIDを取得します。プロジェクト キーはサポート終了を予定しているようです。(2017年2月現在) 現在は使用できるようですが、スクリプトIDを使用した方が良さそうです。両方使えますね。
最後に、このファイルへのアクセス権限を設定しておいてください。右上のボタンから行えます。
ここまでで、共通スクリプトの生成と設定は終了です。
スプレッドシートに組み込みを行う
複数あるスプレッドシートの一つを開き、「ツール > スクリプトエディタ」を開きます。そうするとそのスプレッドシートに付随するスクプリトが表示されるようになります。
ライブラリを設定する
スクリプトの上のメニューを選択し、ライブラリを設定しましょう。
スクリプトIDを入れる
先ほど取得したスクリプトIDを検索すると、該当する項目が表示されます。
スクリプトを保存する
バージョンを選択した保存してください。
スクリプト名のリンクをクリックすると関数の一覧が表示されるようになります。これでスクリプトの紐付けが完了しました。
使用方法
使用するのは簡単です。設定した関数の前にスクリプトの名前を設定することで可能です。よって日本語名はやめましょう。
上記の場合だと
1 | Script.myFunction(引数); |
となります。
注意
共通スクリプトを更新する場合、使用しているスプレッドシートのスクリプトの取り込みのバージョンも変更しなくてはなりませんので、注意してください。
まとめ
Googleアカウントを導入している会社が日本でも増えています。業務のクラウド化でどこにいても、仕事ができるようにする流れが多くあります。配布したスプレッドシートに共通のスクリプトをかませることで、業務の効率化が行える場面が増えてくると思います。機能が多くなればなるほど管理が大変になるので、やってみても良いかもしれません。
アプリとして公開という手段もありますが、全世界に公開されてしまう危険性を考えれば、使用できる対象をきちんと設定できる、簡単に管理できるこの方法がまずはよいのではないでしょうか?
Amazonで購入したおすすめ商品
お疲れ様です。パソコン仕事は体を痛めます。長時間のパソコン仕事で、肩や目が痛い方はこちらがおすすめです。
快適な環境で仕事をしたいですね。
肩が上がらない。姿勢が悪くなる。
腕を広げてタイピングできるので、肩への負担が軽減されます。
目の奥が痛い!時に。
画面の色を損なうことなく、パソコンを長時間見るときに役立ちます。
見た目はエッジが効いている?ので、集中モードの時に。
ネットが遅くて困る!接続数足りてる?
パソコン・スマホ・タブレットを80台まで接続できてこの値段。