GAS(Google Apps Script)で作成したスクリプトを、スプレッドシートからボタンひとつで実行する方法をご紹介します。スマホで実行ボタンが押せないときの対処方法についても解説しているので、ぜひ参考にしてみてください。
GASの実行ボタンを作成する方法
今回は既に作成済みの、メール送信スクリプトを実行ボタンに割り当てます。スクリプトの作成方法については、GASでメール送信する方法をご参照ください。
まず挿入タブから[図形描画]を開き、図形コマンドの[図形]から適当な図形を選びます。
次に描画スペースで左クリックしながら右下に引っ張り、図形を挿入します。
そのまま文字を入力できるので、[実行]を入力します。文字の配置は、もっと見るの[配置]から中央にすることが可能です。ボタンが完成したら[保存して終了]をクリックします。
ボタン右上の[オプション]から[スクリプトを割り当て]を開きます。最後にボタンに割り当てるスクリプト名を入力し、[確定]をクリックします。
スクリプト名はスクリプト作成時に決めた、function の後ろの単語(sendGmail)です。
実行ボタンを押すとスクリプトが実行され、メールが届きます。
GASの実行ボタンが押せない原因
スクリプトを割り当てたボタンを押せないときの対処法を、パソコンとスマホの 2 通りご紹介します。スマホの場合は、図形のボタンとは別のトリガーの作成が必要です。
パソコンでGASの実行ボタンが押せないとき
図形の編集モードになっていると、ボタンを押せません。
ボタンの上で右クリックすると、図形の編集モードになります。このような場合、シートの適当なセルをクリックするだけでボタンを押せるようになります。
スマホでGASの実行ボタンが押せないとき
スマホ版アプリからスプレッドシートを開くと、図形で作成した実行ボタンを押せません。
今回はスクリプトを実行するトリガーを、チェックボックスで作成します。
チェックボックスにチェックが入っている状態は 1 、チェックなしの状態は 0 です。
つまり if(sheet.getRange(‘E2’).getValue()==1) はE2セルのチェックをトリガーとして、それ以降の従属する処理を実行します。
E2=1 のときに実行される処理は sendEmail(メールの送信)と、チェックの解除の 2 つです。
onEdit(e) は、シートを編集したときに実行されます。
プロジェクトを保存し、[トリガー]から[トリガーを追加]を開きます。
実行する関数に[onEdit]をセットし、イベントの種類は[編集時]に変更して保存してください。
アプリからチェックボックスをタップしてチェックを入れると、 ①メール送信、②チェックの解除、の 2 つの処理が実行されました。
今回使用したコードは、以下の通りです。
function onEdit(e) { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); if (sheet.getRange('E2').getValue()==1) { GmailApp.sendEmail('メールアドレス','TEST','Hello!'); sheet.getRange('E2').uncheck(); } }