自定义菜单栏项可以直接链接并在新选项卡中打开URL吗?

时间:2019-03-27 16:53:18

标签: user-interface google-apps-script google-sheets

我正在使用Google表格,并已使用Google脚本在UI上使用几个按钮创建了自定义菜单。在当前状态下,“打开侧栏”按钮会打开一个自定义侧栏,其中包含指向其他Google工作表的链接。我想知道“自定义菜单”按钮是否可以直接链接到所需的URL,而无需通过弹出窗口或侧边栏来显示链接。

我尝试了以下所示的方法,但是收到错误消息,指出“ TypeError:在对象Ui中找不到函数createHtmlOutput。”

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Custom Menu')
      .addItem('Open URL', 'showAnchor')
      .addToUi();
}

function showAnchor() {
  var html = '<html><body><a href="https://www.google.com/" target="_blank" onclick="google.script.host.close()">Google</a></body></html>';
  var ui = HtmlService.createHtmlOuput(html)
  SpreadsheetApp.getUi().showModelessDialog(ui,"demo");
}

编辑:我能够使用功能openUrl来执行此操作,请参见下面的代码。有关完整说明和index.html,请参见“ Google Apps脚本打开URL”一文。

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('Custom Menu')
      .addItem('First item', 'openUrl')
      .addToUi();
}

function getUrl() {
  return 'https://google.com';
}

function openUrl() {
  var html = HtmlService.createHtmlOutputFromFile("Index");
  html.setWidth(90).setHeight(1);
  var ui = SpreadsheetApp.getUi().showModalDialog(html, "Opening ..." );
}

0 个答案:

没有答案