本記事では、スプレッドシートに作成したボタンからGASを実行する方法を解説していきます。
スプレッドシート上に実行ボタンを設置しておくことでスクリプトエディタを毎回開く必要がなく、手軽にGASを実行することができます。
複数の実行ボタンを設置して処理を使い分けることもできるので、ぜひ参考にしてください。
今回のサンプル動画
スプレッドシートのボタンからGASを実行する手順
GASの実行ボタンは、以下の手順で設置していきます。
- スプレッドシートにボタンを作成
- 実行したいスクリプトを作成
- ボタンにスクリプトを割り当てる
スプレッドシートに実行用のボタンを作成
まずは、スプレッドシート上にボタンを作成していきます。
ボタンを作成し終えた後は、シートをまたいでの移動はできないので事前にボタンを設置したいシートを開いた状態で図形描画を選択してください。
図形をダブルクリックすることでテキストを挿入することができます。ボタンの背景色などはお好みで調整してください。最後に右上から保存しましょう。
保存して終了すると、作成したボタンがスプレッドシート上に表示されていると思います。
スクリプトを作成
次にボタンを押したら実行したいスクリプトを作成します。
特に決まった処理がない方は、スクリプトエディタを開いて以下のコードをコピペしてみましょう。
function button_msg() {
Browser.msgBox("ボタンをクリックしました。");
}
次の手順で関数名が必要になってくるので、function ◯◯
の◯◯
に当たる部分を控えておきましょう。上記のスクリプトを使用する方はbutton_msg
が関数名になります。
ボタンに実行したいスクリプトを割り当てる
最後に、ボタンにスクリプトを割り当てていきます。スプレッドシートに設置したボタンをクリックするとボタンの右上にメニューが表示されるので、そこから「スクリプトを割り当て」を選択します。
すると、割り当てるスクリプトを入力するボックスが表示されるので、こちらに先ほど控えた関数名を入力して確定します。
これで実行ボタンの完成です。実際にボタンをクリックしてみて作成したスクリプトが問題なく動くか確認してみましょう。
ボタンでGASを実行するサンプル動画のコード全体
最後に、サンプル動画のコードの全体像を掲載しておきます。
function m_gas_sheet_create() {
const sheet = SpreadsheetApp.getActiveSpreadsheet();
const input_sheetName = Browser.inputBox("作成するシート名を入力してください。\\n※複数ある場合は「,」で区切る", Browser.Buttons.OK_CANCEL);
const sheetName = input_sheetName.split(',');
if(input_sheetName !== "cancel") {
for(let j = 0; j < sheetName.length; j++) {
sheet.insertSheet().setName(sheetName[j]);
}
}
}
サンプルではシートを作成するスクリプトをボタンで実行しています。お好みにカスタマイズして活用してみてください。