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)メソッドは基本的に「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)のパラメーター
名前 | タイプ | 説明 |
---|---|---|
name | String | 更新するメニューの名前。 |
subMenus | Object[] | nameおよびfunctionName パラメータを含むJavaScriptマップの配列。Library.libFunction1に含まれているライブラリの関数を使用できます。 |
スプレッドシートに追加したメニューを更新するまとめ
GAS×スプレッドシートに追加したメニューを更新するならupdateMenu(name, subMenus)
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートに名前とインデックスを指定した新規シートを挿入する
関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する
関連記事:【GAS】スプレッドシートのグリッド線を非表示にする
関連記事:【GAS】スプレッドシートをコピーして新規シートを作成する
関連記事:【GAS】スプレッドシートのアクティブシートを削除する
関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す
関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする
関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する