メニューを操作する

【GAS】スプレッドシートに追加したメニューを更新する

GASでスプレッドシートに追加したメニューを更新するには「updateMenu(name, subMenus)」を利用する。

updateMenu(name, subMenus)

スプレッドシート作成されたUIに新しいメニューを作成・更新します。 addMenu(name, subMenus)によって追加されたメニューを更新します。addMenu(name, subMenus)とまったく同じように機能します。

https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=en#updatemenuname,-submenus

スプレッドシートに追加したメニューを更新するGAS実行の様子

updateMenu(name, subMenus)メソッドを利用して、スプレッドシートに追加したメニューを更新するGASを実行してみました。

updateMenu(name, subMenus)-yes
updateMenu(name, subMenus)を実行した場合

updateMenu(name, subMenus)メソッドは基本的に「addMenu(name,subMenus)メソッド」と全く同じ動作をします。

ただ、サブメニューの追加が自動で行えるので、迷ったら「updateMenu()」を使う方が間違いないでしょう。

addMenu()メソッドでシートに新しいメニューを実装する場合は、以下記事を御覧ください。

参照記事:【GAS】スプレッドシートのUIに関数メニューを追加する

スプレッドシートに追加したメニューを更新するGAS

function upmenu(){
  //SpreadsheetAppを起動
  var ss = SpreadsheetApp.getActiveSpreadsheet();
 //upmenuに配列を定義
  var upmenu = [];
   //サブメニューMenu1とfuntion1を格納してpush
    upmenu.push({name:"Menu1",functionName:"function1"});
    //サブメニューの区切り線
    upmenu.push(null);
   //サブメニューMenu2とfuntion2を格納してpush
    upmenu.push({name:"Menu2",functionName:"function2"});
    //サブメニューの区切り線
    upmenu.push(null);
   //サブメニューMenu3とfuntion3を格納してpush
    upmenu.push({name:"Menu3",functionName:"function3"});
 //■updateMenuで新規メニューを追加してサブメニューupmenuを設置
  ss.updateMenu("新規メニュー",upmenu);
 //メッセージでメニュー設置の旨を掲載!
  Browser.msgBox("新規メニューを更新しました!");
}

//-----サブメニュー用function-----

  //サブメニューで呼び出すfunction1
  function function1(){
    Browser.msgBox("function1を起動しました");
  }
  //サブメニューで呼び出すfunction2
  function function2(){
    Browser.msgBox("function2を起動しました");
  }
  //サブメニューで呼び出すfunction3
  function function3(){
    Browser.msgBox("function3を起動しました");
  }

//-----SubMenuFunctionここまで-----

updateMenu(name, subMenus)のパラメーター

名前タイプ説明
nameString更新するメニューの名前。
subMenusObject[]nameおよびfunctionName パラメータを含むJavaScriptマップの配列。Library.libFunction1に含まれているライブラリの関数を使用できます。
updateMenu(name, subMenus)の高度なパラメーター

スプレッドシートに追加したメニューを更新するまとめ

GAS×スプレッドシートに追加したメニューを更新するならupdateMenu(name, subMenus)メソッドを利用しましょう。

関連記事:【GAS】スプレッドシートに名前とインデックスを指定した新規シートを挿入する

関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する

関連記事:【GAS】スプレッドシートのグリッド線を非表示にする

関連記事:【GAS】スプレッドシートのシート名を変更する

関連記事:【GAS】スプレッドシートをコピーして新規シートを作成する

関連記事:【GAS】スプレッドシートのアクティブシートを削除する

関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す

関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする

関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する

関連記事:【GAS】スプレッドシートでアクティブなシートを返す

関連記事:【GAS】スプレッドシートでアクティブなシートを取得する

-メニューを操作する