69

我想将按钮添加到 Google 文档电子表格中的特定单元格。应用程序脚本 UI 文档 讨论了如何添加新面板,但不清楚该面板中的 UI 如何附加到特定行或单元格。

是否可以将 UI 添加到特定单元格,或者我们是否仅限于添加新面板?

4

4 回答 4

124

应用程序 UI 仅适用于面板。

您能做的最好的事情就是自己绘制一个按钮并将其放入电子表格中。比你可以添加一个宏。

进入“插入>绘图...”,绘制一个按钮并将其添加到电子表格中。然后单击它并单击“分配宏...”,然后在此处插入您要执行的函数的名称。该函数必须在电子表格的脚本中定义。

或者,您也可以在其他地方绘制按钮并将其作为图像插入。

更多信息:https ://developers.google.com/apps-script/guides/menus

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

于 2011-08-06T10:45:34.643 回答
66

2018 年状态:

似乎没有办法将按钮(绘图、图像)放置在单元格中,以允许它们链接到 Apps 脚本功能。


话虽如此,您确实可以做一些事情:

你可以...

您可以使用 将图像放置在单元格中IMAGE(URL),但它们不能链接到 Apps 脚本函数。

您可以将图像放置在单元格中并将它们链接到 URL 使用:
=HYPERLINK("http://example.com"; IMAGE("http://example.com/myimage.png"; 1))

您可以按照@Eduardo 的回答中的描述创建绘图,并且它们可以链接到Apps Script 函数,但它们将是独立的项目,可以在电子表格“上方”自由浮动并且不能定位在单元格中。它们不能从一个单元格复制到另一个单元格,并且它们没有脚本函数可以读取的行或列位置。

于 2016-03-03T10:06:30.960 回答
4

按钮可以作为图像添加到冻结行。将附加脚本中的函数分配给按钮可以运行该函数。说你不能的评论当然是一个很老的评论,现在可能事情已经改变了。

于 2015-10-04T21:43:50.323 回答
2

使用复选框(例如,在 F1 中)而不是按钮/图像。这是单元格内完整 ui 的中间体。然后挂钩您的功能,该功能应该在按钮单击以onEdit()触发功能时运行。

示例脚本:

function onEdit(e){
  const rg = e.range;
  if(rg.getA1Notation() === "F1" && rg.isChecked() && rg.getSheet().getName() === "Sheet1"){
    callFunctionAttachedToImage();
    rg.uncheck();
  }
}

参考:

于 2021-12-22T16:18:27.493 回答