「スプレッドシートメニューの定義」チュートリアルで規定されているすべてのことを行っています。メニューは、onOpen イベント ハンドラーを使用して変更されます。
この「Text to Columns」スクリプトは「スクリプト ギャラリー」で公開していますが、カスタム メニューが表示されるまでに時間がかかり、ダウンロードしたユーザーが混乱する可能性があることを懸念しています。
スクリプトを初めてロードするのは面倒です。多くの場合、onOpen トリガーは完全に見逃されます。onOpen トリガーを手動でリセットすると修正されるため、トリガーが正しく設定されていないようです。
個人的な使用では、これは小さな煩わしさだと思いますが、共有スクリプトの場合はサポートの問題になります。
注: 以降のすべてのロードは一貫して表示されるまでに約 7 秒かかります。これは問題ありませんが、理想からは程遠いものです。
onOpen ハンドラは次のとおりです。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({ name:"Text to columns", functionName:"textToColumns" });
menuEntries.push({ name:"Text to columns (custom separator)", functionName:"textToColumnsCustom" });
menuEntries.push(null);
menuEntries.push({ name:"Columns to Text", functionName:"columnsToText" });
menuEntries.push({ name:"Columns to Text (custom separator)", functionName:"columnsToTextCustom" });
ss.addMenu("Advanced", menuEntries);
}
注: これは、ユーザーが 1 人だけの新しい (空の) スプレッドシートでテストされました。