如何在Google Sheets中实现点击按钮切换红绿色的功能
Google Sheets按钮点击切换红绿颜色实现方案
不需要使用已废弃的UiApp或HtmlService,直接通过Google Apps Script绑定绘图按钮即可实现需求,以下是可直接使用的脚本方案:
前置配置步骤
- 打开目标Google Sheets表格,点击顶部菜单栏「扩展程序」-「Apps Script」打开脚本编辑器
- 删除编辑器默认生成的空白代码,粘贴下方对应脚本后点击保存,为项目任意命名完成保存操作
- 回到表格页面,点击「插入」-「绘图」,自定义绘制按钮样式后点击「保存并关闭」插入到表格中
- 点击插入的绘图按钮,点击右上角三点菜单,选择「分配脚本」,输入对应函数名(比如toggleButtonColor)后点击确定即可
场景1:切换按钮自身的颜色
function toggleButtonColor() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 索引0对应表格中第一个插入的绘图元素,多个按钮可按插入顺序调整索引值 const targetButton = sheet.getDrawings()[0]; const currentColor = targetButton.getFillColor(); // 可自定义替换为需要的十六进制色值 const RED = "#ff0000"; const GREEN = "#00ff00"; if (currentColor === RED) { targetButton.setFillColor(GREEN); } else { targetButton.setFillColor(RED); } }
场景2:点击按钮切换指定单元格区域的颜色
function toggleCellRangeColor() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 可修改为目标单元格范围,示例为A1到C3区域 const targetRange = sheet.getRange("A1:C3"); const currentColor = targetRange.getBackground(); // 可自定义替换为需要的十六进制色值 const RED = "#ff0000"; const GREEN = "#00ff00"; if (currentColor === RED) { targetRange.setBackground(GREEN); } else { targetRange.setBackground(RED); } }
内容的提问来源于stack exchange,提问作者GSF Celtus
相关产品推荐
相关产品推荐

