GAS(google app script)を使ってスプレッドシートにメニューを追加する方法
こんにちは、つじたく(@Tsuji_Taku50)です。
GAS(google app script)を使ってスプレッドシートに独自のメニューを追加することができるので
今日はその方法を紹介します。
この独自メニューを使えば、「特定のメニューを押したときに実装した処理を行う」といったことが可能になるので
ものすごく便利です。
スプレッドシートに独自メニュー追加
onOpen関数
GAS(google app script)にはonOpen関数という関数が初めから用意されています。
このonOpen関数は「スプレッドシートを開いた瞬間に処理をする」という関数です。
function onOpen(){ // スプレッドシートを開いた瞬間に実行する処理を書く }
このように書きます。
メニュー追加
メニュー追加にも何種類か方法はあるみたいなのですが、実際に僕が使っている方法を紹介します。
完成系はこちらです。
ソースコードは以下になります。
function onOpen() { var utils = [ {name: '5文字の乱数生成',functionName: 'setRandom5'}, null, {name: '10文字の乱数生成',functionName: 'setRandom10'}, ]; // スプレッドシート情報取得 var sheet = SpreadsheetApp.getActiveSpreadsheet(); sheet.addMenu('乱数生成', utils); } function setRandom5() { var sheet = SpreadsheetApp.getActiveSpreadsheet(); sheet.getActiveSheet().getActiveRange().setValue(underscoreGS._randomString(5)) } function setRandom10() { var sheet = SpreadsheetApp.getActiveSpreadsheet(); sheet.getActiveSheet().getActiveRange().setValue(underscoreGS._randomString(10)) }
上記の例は
「5文字の乱数生成」メニューを押すと、5文字の乱数を生成する
「10文字の乱数生成」メニューを押すと、10文字の乱数を生成する
というものです。
まずsheet
変数に現在の開いているスプレッドシート情報を格納します。
次にaddMenu
関数でメニューを追加します。
今回なら「乱数生成」という名前のメニューを追加しています。
「乱数生成」という名前のメニューの中に「5文字の乱数生成」「10文字の乱数生成」というサブメニューを追加しています。
サンプルも用意したので、良かったら試してみて下さい。 docs.google.com
まとめ
もっと複雑な処理もできますが、これさえ理解しておけば後は応用が効くと思います。
自分独自にメニューを追加できるのはすごく便利なので使ってみて下さい。
おわり!!