カスタムメニューを追加
メニューの追加は、シートが読み込まれた時に関数を実行出来るようにしたいので、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(‘スコア管理’);
}
コメント