現在、オフィスで使用する Google スプレッドシート アドオンを作成しようとしています。マーケットプレイスで非公開で公開し、ドメイン全体に配布する作業を行いましたが、メニュー項目が適切に追加されないという問題に直面しています。私は AuthMode について読んできましたが、私が理解していることから、私のユーザーはすべて最初は AuthMode.NONE になり、単純なメニューを追加できるはずです。「シンプルなメニュー」に対する私の理解が違うのかもしれません。すべてのコンピューターを ChromeOS に切り替える前に、1 週間以内にこれを機能させる必要があります (私の決定ではなく、IT の決定です)。
これが、関連するすべてのコードであると私が想定しているものです。各関数も適切に定義されています。
function onOpen(e) {
SpreadsheetApp.getUi().createAddonMenu('Usage Macros')
.addItem('Summarize', 'firstRun')
.addSubMenu(SpreadsheetApp.getUi().createAddonMenu('Rate')
.addItem('PG&E', 'pge')
.addItem('CARE', 'care'))
.addSubMenu(SpreadsheetApp.getUi().createAddonMenu('Proposal Type')
.addItem('SunRun 0%', 'sunRun0')
.addItem('SunRun 1.9%', 'sunRun19')
.addItem('SunRun 2.5%', 'sunRun25')
.addItem('SunRun 2.9%', 'sunRun29')
.addItem('SunRun 3.5%', 'sunRun35')
.addItem('SunPower 0%', 'sunPower0')
.addItem('SunPower 2%', 'sunPower2')
.addItem('SunNova 0%', 'sunNova0')
.addItem('SunNova 0.9%', 'sunNova09')
.addItem('SunNova 1.9%', 'sunNova19')
.addItem('SunNova 2.9%', 'sunNova29')
.addItem('Cash', 'cash')
.addItem('GreenSky', 'greenSky')
.addItem('EnerBank', 'enerBank'))
.addItem('Finalize','kleanUp')
.addToUi();
}
function onInstall(e) {
onOpen(e);
}
また、"Summarize" メニュー項目と "firstRun" が追加されたのは、もともと onOpen 関数が他の 2 つの関数を呼び出して、書式設定を変更し、開いているドキュメントから不要な情報を切り取ったためです。私はそれを onOpen から削除し、それらのメニュー項目を追加しました。残念ながらそうではありませんでした。