如何将此Google电子表格的菜单转换为Google文档

时间:2013-12-14 05:08:08

标签: menu google-apps-script google-docs

这适用于Google电子表格:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menu = [ 
{name: "Initialize", functionName: "labnolReset"},
{name: "Test", functionName: "test"}
];  
  ss.addMenu("Gmail", menu);
  ss.toast("Please click the GMail menu above to continue..", "", 5);
}

如何将其转换为Google文档?我尝试将代码复制到Google文档中,然后将ss分配给DocumentApp.getActiveDocument(),但它无效。我既没有GMail菜单,也没有“吐司”。

我也尝试过:

var ui = DocumentApp.getUi();
ui.createMenu("Gmail", menu).addToUi();

但这也不起作用。

请帮忙。

1 个答案:

答案 0 :(得分:2)

您确实可以在Google文档中使用菜单。您必须了解脚本的实现始于Sheets,并且演变为触及Google Apps的许多其他领域。在这方面,Docs的实现是完全不同的。

了解Google Apps脚本的最佳位置是仔细阅读此处的优秀文档:https://developers.google.com/apps-script/

在查询的特定情况下,要阅读的链接位于:https://developers.google.com/apps-script/guides/docs#custom_menus_and_user_interfaces

对于菜单,这是您可以使用的特定代码

function onOpen() {
  var ui = DocumentApp.getUi();
  ui.createMenu('Sample Menu')
      .addItem('Show alert', 'showAlert')
      .addItem('Show prompt', 'showPrompt')
      .addSeparator()
      .addSubMenu(ui.createMenu('Custom UIs')
          .addItem('Show HTML dialog', 'showDialog')
          .addItem('Show HTML sidebar', 'showSidebar'))
      .addToUi();
}

toast特定于电子表格,在docs中不可用。另一方面,您将能够使用这些:https://developers.google.com/apps-script/reference/base/ui#alert(String)