使用滚动创建UI菜单

时间:2016-08-26 13:00:05

标签: google-apps-script

我在google apps脚本中有一个功能,它从数据库中提取“事件”列表,并使用该列表创建一个名为“运行事件报告”的新菜单。我希望从该菜单中运行该事件的事件报告。

相关功能在这里:

function getEventsList(){  
  Logger.clear();

  var ui = SpreadsheetApp.getUi();  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var urls = urlBuilder();

  var token = getToken(ui, urls.getAuthServiceUrl());
  var accountId = getDataFromApi(urls.getAccountsListUrl(), token)[0].Id;
  var EventsCount = getDataFromApi(urls.getEventsCountUrl(accountId), token);
  var EventList = getDataFromApi(urls.getEventsListUrl(accountId), token);

  var menu = ui.createMenu('Run Event Report')

  for (var y = 0; y < EventsCount.Count-1; y++) {
    var name = EventList.Events[y].Name;
    var startDate = EventList.Events[y].StartDate;
    var str = name + " (" + startDate.slice(0,10) + ")";

    menu.addItem(str, 'runEventReport(' + y + ')');
  }
  menu.addToUi();

}

问题是,创建的菜单比屏幕高度长,并且似乎没有滚动功能。所以我无法在菜单中进一步访问这些项目。

是否有可能在Google Apps脚本创建的菜单中启用滚动功能?

1 个答案:

答案 0 :(得分:0)

经过一段时间的搜索并遇到此问题之前,我认为它不是设计用于在一个菜单中提供大量菜单项;但是,您可以在this / if语句中添加一个循环,并将它们放入子菜单项(如嵌套列表)中。 它解释了子菜单项如何在这里工作:Google Menu Item

如果你想要一个如何做到这一点的例子让我知道,我会在这里为你举一个例子。

希望有所帮助。

祝你好运:)