GASでスプレッドシートに追加したメニューを削除するには「removeMenu(name)
」を利用する。
removeMenu(name)
addMenu(name, subMenus)によって追加されたメニューを削除します。引数nameは、nameaddMenu(name, subMenus)への対応する呼び出しと同じ値である必要があります。
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet?hl=en#removemenuname
スプレッドシートに追加したメニューを削除するGAS実行の様子
removeMenu(name)メソッドを利用して、スプレッドシートに追加したメニューを削除するGASを実行してみました。
removeMenu(name)メソッドは、基本的にopOpen()と一緒に利用します。
任意でメニューを削除する場合は、別途画面をリロードする必要があるため注意が必要です。
updateMenu()
メソッドでシートに追加したメニューを更新する場合は、以下記事を御覧ください。
参照記事:【GAS】スプレッドシートで追加したメニューを更新する
スプレッドシートに追加したメニューを削除するGAS
function remobeMenu(){
//SpreadsheetAppを起動
var ss = SpreadsheetApp.getActiveSpreadsheet();
//shtnameでシートの名前をゲッツ
var shtname = ss.getName()
//addmenusを[]で配列定義
var addmenus = [];
//サブメニューMenu1を押したらfunction1を起動
addmenus.push({name:"Menu1",functionName:"function1"});
//nullで(サブメニューの中身無し)区切り線作成
addmenus.push(null);
//サブメニューMenu2を押したらfunction2を起動
addmenus.push({name:"Menu2",functionName:"function2"});
//■addMenuで新規追加メニューをメニューへ設置。addmenusをサブメニューへ
ss.addMenu("新規追加メニュー",addmenus);
//YESNOのメッセージを掲載
var txt = Browser.msgBox("追加したメニューを削除しますか?",Browser.Buttons.YES_NO_CANCEL);
//YESなら新規追加メニューを削除
if(txt == "yes"){
//■removeMenuで新規追加メニューを削除
ss.removeMenu("新規追加メニュー");
//メニュー削除の旨をメッセージで掲載
Browser.msgBox("シート「"+shtname+"」に新規追加したメニューを削除しました。画面をリロードしてください。");
//Noなら削除しない
}else{
//新規追加メニューを削除しなかった旨を掲載
Browser.msgBox("シート「"+shtname+"」に新規追加したメニューは削除しませんでした");
}
}
removeMenu(name)のパラメーター
名前 | タイプ | 説明 |
---|---|---|
name | String | 削除するメニューの名前。 |
スプレッドシートに追加したメニューを削除するまとめ
GAS×スプレッドシートに追加したメニューを削除するならremoveMenu(name)
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートのUIに関数メニューを追加する
関連記事:【GAS】スプレッドシートに名前とインデックスを指定した新規シートを挿入する
関連記事:【GAS】スプレッドシートで指定した名前で新規シートを作成する
関連記事:【GAS】スプレッドシートのグリッド線を非表示にする
関連記事:【GAS】スプレッドシートをコピーして新規シートを作成する
関連記事:【GAS】スプレッドシートのアクティブシートを削除する
関連記事:【GAS】スプレッドシートで現在アクティブなシートを返す
関連記事:【GAS】スプレッドシートで名前・行・列数を指定して新規シートする
関連記事:【GAS】スプレッドシートのアクティブシートの名前を取得する