我想将按钮添加到 Google 文档电子表格中的特定单元格。应用程序脚本 UI 文档 讨论了如何添加新面板,但不清楚该面板中的 UI 如何附加到特定行或单元格。
是否可以将 UI 添加到特定单元格,或者我们是否仅限于添加新面板?
我想将按钮添加到 Google 文档电子表格中的特定单元格。应用程序脚本 UI 文档 讨论了如何添加新面板,但不清楚该面板中的 UI 如何附加到特定行或单元格。
是否可以将 UI 添加到特定单元格,或者我们是否仅限于添加新面板?
应用程序 UI 仅适用于面板。
您能做的最好的事情就是自己绘制一个按钮并将其放入电子表格中。比你可以添加一个宏。
进入“插入>绘图...”,绘制一个按钮并将其添加到电子表格中。然后单击它并单击“分配宏...”,然后在此处插入您要执行的函数的名称。该函数必须在电子表格的脚本中定义。
或者,您也可以在其他地方绘制按钮并将其作为图像插入。
更多信息:https ://developers.google.com/apps-script/guides/menus
似乎没有办法将按钮(绘图、图像)放置在单元格中,以允许它们链接到 Apps 脚本功能。
话虽如此,您确实可以做一些事情:
您可以使用 将图像放置在单元格中IMAGE(URL)
,但它们不能链接到 Apps 脚本函数。
您可以将图像放置在单元格中并将它们链接到 URL 使用:
=HYPERLINK("http://example.com"; IMAGE("http://example.com/myimage.png"; 1))
您可以按照@Eduardo 的回答中的描述创建绘图,并且它们可以链接到Apps Script 函数,但它们将是独立的项目,可以在电子表格“上方”自由浮动并且不能定位在单元格中。它们不能从一个单元格复制到另一个单元格,并且它们没有脚本函数可以读取的行或列位置。
按钮可以作为图像添加到冻结行。将附加脚本中的函数分配给按钮可以运行该函数。说你不能的评论当然是一个很老的评论,现在可能事情已经改变了。
使用复选框(例如,在 F1 中)而不是按钮/图像。这是单元格内完整 ui 的中间体。然后挂钩您的功能,该功能应该在按钮单击以onEdit()
触发功能时运行。
function onEdit(e){
const rg = e.range;
if(rg.getA1Notation() === "F1" && rg.isChecked() && rg.getSheet().getName() === "Sheet1"){
callFunctionAttachedToImage();
rg.uncheck();
}
}