【问题标题】:How can I create a button using app script and assign a script to it? [closed]如何使用应用脚本创建按钮并为其分配脚本? [关闭]
【发布时间】:2020-12-26 01:24:56
【问题描述】:

根据我的理解,如果我想在 google 表格中创建一个按钮,我必须访问 draw 并创建一个类似按钮的形状,然后将其链接到我在 here 和 How do you add UI inside cells in a google spreadsheet using app script? 中描述的脚本

我有三个问题,

  1. 有没有办法在应用脚本中创建一个按钮及其onClick 函数?
  2. 如果我使用上述方法(绘图、分配...),其他将使用相同脚本的人可以访问(因为我正在创建一个附加组件)
  3. SpreadsheetApp.getUi().Button 有什么用?

【问题讨论】:

  • 您是否有理由希望在插件中使用绘制按钮而不是使用自定义菜单或 HTML 界面?最终用户可以编辑绘图,从而破坏您的附加组件。
  • 我同意你的观点,这就是为什么我要求另一种方式而不是绘画。

标签: button google-apps-script google-sheets spreadsheet


【解决方案1】:
  1. 是的。但不是绘图。您可以使用任何外部图像作为按钮。在返回的 overGridImage 上使用 sheet.insertImage() 和 assignScript。

  2. 是的。

  3. 没有这种方法。但是你可以使用alerts

【讨论】:

  • 那么通过将图片添加为按钮,其他用户就可以访问了,他们将无法修改它?
  • @Doom 任何拥有编辑权限的用户都可以修改甚至删除它
  • 啊哈,所以我认为制作菜单更安全、更容易,但我想知道我是否可以在工作表上制作对用户可见的东西而不是菜单并执行相同的功能。
  • @Doom 你可以检查按钮是否被修改或者只是添加按钮onOpen,如果不存在的话。是的,菜单更好。
【解决方案2】:
function buttonOnADialog() {
  var html='<input type="button" value="Close" onclick="google.script.host.close();" />';
  SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html), "Title");
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 2011-10-31
  • 2014-11-03
  • 1970-01-01
相关资源
最近更新 更多