在Google Sheets中添加按钮并在点击时设置单元格的值

16

我是Google脚本的新手。

我有一个包含5列的Google表格,在每一列上,我需要一个带有文本1,2,3,4,5的按钮。

每次单击按钮时,我需要将按钮文本设置为相应的单元格并隐藏单击的按钮。

这是否可能?


这些按钮是由已登录的电子表格编辑器或匿名用户访问的? - Kriggs
通过已登录的电子表格.. - Prasad
1
你不能在单元格内创建多个按钮,但是你可以使用验证下拉选择或侧边栏/对话框来创建按钮(这两种方法都需要用户登录)。按钮只能悬停在单元格上,我猜你可以通过编程方式让许多按钮出现,但我不确定如何实现。 - Kriggs
3个回答

16

您可以插入一个看起来像按钮的图片,然后将脚本附加到该图片上。

  • 插入菜单
  • 图片

插入图片

您可以插入任何图片。可以在电子表格中对图像进行编辑。

编辑图片

按钮的图像

按钮图像

将函数名称分配给图像:

分配函数


谢谢您的回答。使用Google脚本是否可以添加按钮? - Prasad
不行。无法使用脚本向电子表格添加按钮。您可以弹出对话框或在侧边栏上放置一个。而且侧边栏是HTML,因此可以有一个按钮。 - Alan Wells

6
考虑 构建一个插件,它具有实际的按钮,而不是使用将图像链接到脚本函数的过时方法。
在脚本编辑器中,在帮助菜单下 >> 欢迎屏幕 >> 链接到Google Sheets插件 - 将为您提供可用的示例代码。

1
可以使用Google Apps Script在Google电子表格中插入图像。但是,该图像必须已经公开托管在互联网上。目前,无法从Google Drive中插入私有图像。
您可以使用以下代码通过脚本插入图像。
  function insertImageOnSpreadsheet() {
  var SPREADSHEET_URL = 'INSERT_SPREADSHEET_URL_HERE';
  // Name of the specific sheet in the spreadsheet.
  var SHEET_NAME = 'INSERT_SHEET_NAME_HERE';

  var ss = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
  var sheet = ss.getSheetByName(SHEET_NAME);

  var response = UrlFetchApp.fetch(
      'https://developers.google.com/adwords/scripts/images/reports.png');
  var binaryData = response.getContent();

  // Insert the image in cell A1.
  var blob = Utilities.newBlob(binaryData, 'image/png', 'MyImageName');
  sheet.insertImage(blob, 1, 1);
}

上面的例子已经从this链接复制。查看noogui的回复以获取详细信息。
如果您需要从Google Drive插入图像,请查看this链接以获取当前更新。

刚刚意识到移动电话上的按钮无法点击。使用鼠标在浏览器中可以正常工作。 - phongyewtong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接