メニューを操作する

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

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)-yes
removeMenu(name)を実行した様子

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)のパラメーター

名前タイプ説明
nameString削除するメニューの名前。
removeMenu(name)の高度なパラメーター

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-メニューを操作する