0

スプレッドシートを開かずにメニューを作成しようとしています。以前は 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);
}
4

1 に答える 1

1

まず、関数のFrank_Menu実行時にのみメニューが作成されます。いつこの機能を実行していますか? スプレッドシートを開いた後、手動で実行していますか?

于 2013-06-29T16:48:38.270 に答える