にわかプログラマの備忘録

仕事の過程で調べたことを忘れないように記載しています

【GAS】カスタムメニューを作る【スプレッドシート】

関数をスプレッドシートから実行する際に便利なカスタムメニューを作成します。



function onOpen() {
  SpreadsheetApp.getUi()
    //項目名を作る
    .createMenu('カスタムメニュー')
    //関数を実行するボタンを作る
    .addItem('タイトル', '関数名')
    //線を引く
    .addSeparator()
    //サブ項目名を作る
    .addSubMenu(
      SpreadsheetApp.getUi()
        //サブ項目名
        .createMenu('カスタムメニュー2')
        //関数を実行するボタンを作る
        .addItem('タイトル', '関数名')
    )
    .addToUi();
}

これが↓になります。

f:id:sorane0908:20210802133032j:plain
カスタムメニュー

スプレッドシートを読み込みなおすことでヘルプの隣に表示されます。
少し時間が掛かるかも。

onOpen() スプレッドシートを読み込んだ際に実行されるものなので、他の関数のように保存しただけでは反映されません。

getUi()スプレッドシート(SpreadsheetApp)以外にもドキュメント(DocumentApp)とフォーム(FormApp)で使用できます。
ボタンを別途作成するより圧倒的に楽です。
あくまでスプレッドシートなどのUI(メニュー)に追加するもののため、スタンドアロン(Googleドライブに作成したGoogle Appe Script)では使用できません。