GASでスプレッドシートに自作メニュを作ろう

こんにちは、くのへです!
エクセルVBAでメニュ(リボン)に自作マクロを登録してボタン一つでパッと呼び出せるようになると、一つレベルが上がったような感じがしますよね!
Googleスプレッドシートにおいても、Google Apps Script(以下GAS)で簡単にスプレッドシートのメニューバーに自作メニューを追加することが可能です。
本記事では、GASでスプレッドシートに自作メニューを追加するコードとその解説を行います。

動作の様子

次の動画のように、スプレッドシートに自作メニュを作り、メニュ内のアイテムを選択すると、A1セルに書いたり消したりするプログラムが動作します。

スプレッドシートに自作メニューを追加する準備

まず、スプレッドシートにメニューを追加するためには、コンテナバインド型のGASを使います。
つまり、スプレッドシートを開き、メニューバーの「拡張機能」 > 「Apps Script」を選択してGASエディタを開きましょう。

サンプルコード

次のコードがサンプルコードです。
コピペして保存したら、スプレッドシートを閉じて、もう一度開きましょう。
onOpenというイベントプログラムが自動実行され、「自作メニュ」というメニューが作成されます。

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  var menu = ui.createMenu('自作メニュ');
  menu.addItem('テストスクリプト1', 'testScript1');
  menu.addItem('テストスクリプト2', 'testScript2');
  menu.addToUi();
}

function testScript1() {
  var sheet=SpreadsheetApp.getActiveSheet();
  sheet.getRange(1,1).setValue("テスト1");
}

function testScript2() {
  var sheet=SpreadsheetApp.getActiveSheet();
  sheet.getRange(1,1).setValue("");
}

あとは、この記事を読んでいる方は読めばピンとくると思います。
「テストスクリプト1」にtestScript1という関数が割り当てられ、テストスクリプト1をクリックするとtestScript1が動作するようになります。
「テストスクリプト2」も同様です。
menu.addToUi()という命令により、メニュバーに表示した、というプログラムになります。

こうやって自作メニュを作り、そしてそのメニュに自作関数を割り当てることが出来るんですね!!

おわりに

自作メニューの実装は、Googleスプレッドシートを使いこなすための大きなステップです。
この記事を参考に、ぜひカスタムメニューの作成に挑戦してみてください。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
Contents