如何在电子表格的 Google Apps 脚本中监控点击事件?

How can you monitor for click events in Google Apps script for spreadsheets?

我正在使用脚本管理 Google 电子表格。 onEdit 正在工作 - 我可以通过放置

将单元格着色为红色

1
SpreadsheetApp.getActiveRange().setBackgroundRGB(255, 0, 0);

在 onEdit 函数中。我想将相同的代码放在 onClick 函数中,这样当用户单击单元格时,它会立即变为红色。这可能吗?我在文档中找不到任何方法。


您可以走得更近....使用选项为单元格创建验证...例如"完成"。单击下拉菜单,选择完成。现在创建一个触发器 onChange 或 onEdit 来触发。您可以获得一个单元格/范围上下文化函数......就像在行或列上触发一样。这很容易复制和编程


正如之前在上面的评论中所述,(现在)无法为 Google 电子表格创建 onClick() 函数。这是有道理的,因为 google 应用程序脚本函数是在服务器中处理的,onClick() 事件执行产生的负载量很容易耗尽默认提供的所有请求配额。

您应该使用文档来创建按钮并单击它。


我相信新的触发器 onSelectionChange(e) 将实现这一点。它在文档中,但在撰写本文时尚未在我的工作表上工作。 https://developers.google.com/apps-script/guides/triggers?hl=en


您可以将绘图添加为按钮 - https://developers.google.com/apps-script/guides/menus#clickable_images_and_drawings_in_google_sheets


创建一个背景透明的"绘图";然后将绘图移动并放置在您需要的单元格顶部,然后将脚本分配给绘图。


试试这个点击事件:

函数 onSelectionChange(e) {
e.source.toast(\\'Sheet: \\' e.range.getSheet()(.getName() \\' Range: \\' e.range.getA1Notation());
}