【GAS】SpreadSheet ClassのaddMenuメソッドの使い方


この記事では、Google Apps Script(GAS)のaddMenuメソッドについて解説します。
addMenuメソッドを使うことで、スプレッドシートのメニューバーにカスタムメニューを追加し、スクリプトの機能を簡単に利用できるようになります。

addMenuメソッドの構文とパラメータ

addMenuメソッドの基本的な構文は以下の通りです

SpreadsheetApp.getUi()
  .createMenu('メニュー名')
  .addItem('アイテム名', '関数名')
  .addToUi();

この構文では、まずcreateMenuメソッドでメニューを作成し、addItemメソッドでメニューに項目を追加し、最後にaddToUiメソッドでUIにメニューを追加します。

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('カスタムメニュー')
      .addItem('スクリプトを実行', 'myFunction')
      .addToUi();
}

function myFunction() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getRange('A1');
  range.setValue('Hello, World!');
}

この例では、スクリプトを実行するとメニューバーに「カスタムメニュー」というメニューが追加され、その下に「スクリプトを実行」という項目が表示されます。
ユーザーがこの項目をクリックすると、myFunction関数が実行され、現在のスプレッドシートのA1セルに「Hello, World!」というテキストが入力されます。

複数のメニュー項目の追加

addMenuメソッドを使用して、複数のメニュー項目を一度に追加することができます。
これにより、複数の関数やアクションを含むメニューを簡単に作成できます。
以下は、複数のメニュー項目を追加する例です

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('メインメニュー')
    .addItem('サブメニュー1', 'submenu1')
    .addItem('サブメニュー2', 'submenu2')
    .addToUi();
}

function submenu1() {
  // サブメニュー1の処理
}

function submenu2() {
  // サブメニュー2の処理
}