Googleスプレッドシート Apps Scriptの3つのプログラム実行方法

Google Apps Scriptとは

GoogleスプレッドシートではGoogle Apps Script (通称GAS)というExcel VBAのようにスクリプトを実行してシートなどの操作を行うことができる。

記述したプログラムの実行方法は3つあるため、Google Apps Scriptを使用するのであれば必ず覚えておく必要がある。

この記事ではプログラムの3つの実行方法をサンプルを交えて解説する。

実行方法1 エディタから実行

Google Apps ScriptはGoogleスプレッドシートのメニューのツール → スクリプトエディタを開いてエディタにコードを記述する。

記述したコードはエディタから実行する場合は三角(▶)の実行ボタンを押すか、「実行 → 関数を実行」から実行できる。

// 実行するスクリプト
function myFunction() {
  Browser.msgBox('Hello world!');
}

ただし、Google Apps Scriptは主にGoogleスプレッドシートの操作に使用するため、エディタから実行するケースはデバッグ以外では少ない。

また、初回実行時はスクリプト実行の承認を求められるので自分のGoogleアカウントを選択する。

「このアプリは確認されていません」と表示された場合は「詳細」をクリックしてsample(安全ではないページ)に移動をクリックして、再度自分のGoogleアカウントを選択すればスクリプトを実行できるようになる。
Google Apps Scrtiptで「このアプリは確認されていません」と表示された場合は「詳細」をクリックして承認

実行方法2 ボタンを配置して実行

Googleスプレッドシートではメニューの「挿入」から図形描画や画像を挿入することでボタンを配置できる。

配置したボタンは選択すると右上に「・・・」が表示されるため、これをクリックして「スクリプトを割り当て」を選択して関数名(myFunctionなど)を設定すれば割り当てた関数を実行できるようになる。
配置したボタンは選択すると右上に「・・・」が表示されるため、これをクリックして「スクリプトを割り当て」を選択

スクリプトを割り当て後は押すと関数が実行されるため、再度選択する際はcommand (Windowsはctrl)を押しながら選択する。

Googleスプレッドシート Apps Scriptの3つのプログラム実行方法 その2

実行方法3 メニューを追加して実行

Googleスプレッドシートではメニューの「ヘルプ」の右にスクリプトを実行するためのメニューを追加できる。

例えば「メッセージ表示」というメニューを追加して「Hello world! 実行」をクリックすると関数が実行されるようにしたい場合は以下のようなコードになる。

// 関数を実行するメニューを追加
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  var menu = ui.createMenu('メッセージ表示');
  menu.addItem('Hello world! 実行', 'myFunction');
  menu.addToUi();
}

function myFunction() {
  Browser.msgBox('Hello world!');
}

Googleスプレッドシート Apps Scriptの3つのプログラム実行方法 その3

追加メニューのaddItemが複数必要な場合は以下のように追加して記述するだけで良い。

// 関数を実行するメニューを複数追加
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  var menu = ui.createMenu('メッセージ表示');
  menu.addItem('Hello world! 実行', 'myFunction');
  menu.addItem('Hello world! 2 実行', 'myFunction2');
  menu.addToUi();
}

function myFunction() {
  Browser.msgBox('Hello world!');
}

function myFunction2() {
  Browser.msgBox('Hello world! 2');
}

Googleスプレッドシート Apps Scriptの3つのプログラム実行方法 その4