スプレッドシートを開かずにメニューを作成しようとしています。以前は onOpen() 関数内で実行していましたが、現在は通常の関数内で実行しようとしています。このスクリプトを使用すると、ファイルを作成できますが、ファイルに「アクション」メニューが作成されません。
function Frank_PersistentVariable(){
//create file ID
var ss = SpreadsheetApp.create("TEST").getId();
//clean cache of file IDs
CacheService.getPrivateCache().remove('cachedObject');
//load file ID to cache
CacheService.getPrivateCache().put('cachedObject', ss);
}
function Frank_Menu(){
//create menu
var menu = [
{name: "action1", functionName: "MyFunction1"},
{name: "action2", functionName: "MyFunction2"},
{name: "action3", functionName: "MyFunction3"},
];
//call file ID from cache
var cachedObject = CacheService.getPrivateCache().get('cachedObject');
//call file using ID
var ss = SpreadsheetApp.openById(cachedObject);
//display menu in file
ss.addMenu("actions", menu);
}