#11 GAS入門−カスタムメニューを追加・削除

GAS

カスタムメニューを追加

メニューの追加は、シートが読み込まれた時に関数を実行出来るようにしたいので、onOpen()という特殊な関数名を使います。

まず個々のシートでなく、スプレッドシート全体を取得する必要があります。
getActiveSpreadsheet() にします。

追加するメニューは配列の形式で作ります。規則は

  • オブジェクト形式
  • name:メニューの名前
  • functionName:関数名

2つのメニューを追加しますね。

  • 一つ目は「初期化」でinitSheetを実行出来るようにします。
  • 二つ目のメニューは「判定」でshowResultsを実行します。
  • 二つのメニューをオブジェクト形式でitemsに代入します。

「初期化」と「判定」を追加し、メニューのセパレーターは「null」でOKです。

var items = [
{name: ‘初期化’, functionName: ‘initSheet’},
null,
{name: ‘判定’, functionName: ‘showResults’}
];

最後に、itemsをメニューとして追加します。メニューの名前は「スコア管理」で中身は「items」です。

spreadsheet.addMenu(‘スコア管理’, items);

spreadsheet.addMenu(‘スコア管理’, items);
}

function onOpen() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var items = [
{name: ‘初期化’, functionName: ‘initSheet’},
null,
{name: ‘判定’, functionName: ‘showResults’}
];

追加したカスタムメニューを削除する

追加したカスタムメニューを削除するには、removeMenu()を使います。

引数にメニュー名を指定してremoveMenu(‘スコア管理’)でOKです。

function RemoveMenu() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
spreadsheet.removeMenu(‘スコア管理’);
}

コメント