Google Apps Script(GAS)を使っていると、Googleフォームから回答が来たときやシートの内容に変更があった場合などに、別のスプレッドシートに作成したスクリプト(関数)を実行したい場合があります。
なんと、Googleさんはそんな便利な方法を提供してくれています。
ここでは、他のスプレッドシートのスクリプト(関数)を呼び出して実行する方法を実例で解説しています。
他のシートのスクリプトを呼び出す流れ
他のスプレッドシートのスクリプト(関数)を呼び出して実行するための大まかな手順はいかになります。
スクリプトIDを取得する
初めに、既に作成したスクリプト(関数)が保存されているAppScriptからスクリプトIDというものを取得します。
AppScriptを開いて左端のメニューの一番下の歯車アイコンをクリックします。
中ほどに「スクリプトID」があるのでこれをコピーします。
ライブラリにスクリプトIDを追加する
スクリプトIDで検索
続いて、呼び出したいスプレッドシートに先ほどのスクリプトIDを登録します。
AppScriptを開いて「エディタ > ライブラリ」を選択します。
モーダルが表示されます。入力ボックスに先ほどコピーしたスクリプトIDを入力します。
スクリプトIDを入力したら「検索」ボタンをクリックします。
すると「バージョン」と「ID」が表示されます。
バージョンの設定
「バージョン」とはApps Scriptのプログラムをどのデプロイバージョンから取得するかを指定するものです。
デプロイするたびに新しいバージョンが自動作成されていきます。
なお、「HEAD」というのは最新のデプロイバージョンを指しています。
IDの設定
次に「ID」を指定します。これは、呼び出し側のスプレッドシートで登録したスクリプトのライブラリを呼び出すときの名前です。クラス名のようなものになります。
英数字や一部の記号などJavaScriptで指定できる識別子のみ使用可能で、日本語を指定することはできません。
設定が完了したら「追加」をクリックします。
追加が完了すると、ライブラリに指定したID名が表示されます。
スクリプトを呼び出す
ライブラリにスクリプトIDを登録することができたら、スクリプトエディタから対象の先ほど指定したIDを使ってスクリプト(関数)を呼び出します。
エディタの中に先ほどのID名(上記例では「Stg」)を入力して「.(カンマ)」を入力すると、対象のスプレッドシートに作成してあるスクリプト(関数)の一覧が表示されます。
実行したい関数をセットすれば完了です。
めちゃくちゃ便利ですね。