如何创建点击后触发Google Sheets表格刷新的按钮?
Google Apps Script 实现Google Sheets条件触发刷新功能
你提到曾见过仅用Google Apps Script在Google Sheets中实现相关功能,但找不到参考资料,自己尝试的代码存在问题。先分析你写的代码的问题,再给出修正方案:
你的代码存在的问题
- 未获取单元格的实际值:
sheet.getRange('H7')只是拿到单元格范围对象,不是单元格内的布尔值,需要用getValue()方法取值 - 方法调用错误:
SpreadsheetApp.flush缺少括号,正确写法是SpreadsheetApp.flush(),因为这是一个函数方法
修正后的基础代码
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); // 获取H7单元格的布尔值 var h7Value = sheet.getRange('H7').getValue(); if (h7Value === true) { // 执行flush,确保所有未保存的更改立即写入 SpreadsheetApp.flush(); } }
实现自动触发(无需手动运行函数)
如果需要当H7单元格的值变为true时自动执行,可使用onEdit简单触发器,代码如下:
function onEdit(e) { var targetRange = e.range; // 仅当编辑的是H7单元格时触发逻辑 if (targetRange.getA1Notation() === 'H7') { var isTrue = targetRange.getValue(); if (isTrue === true) { SpreadsheetApp.flush(); } } }
说明
onEdit触发器会在用户编辑表格时自动触发,无需手动运行函数e.range代表被编辑的单元格范围,通过getA1Notation()判断是否是H7单元格flush()的作用是强制将所有挂起的电子表格更改立即写入,避免延迟
内容的提问来源于stack exchange,提问作者Wikk
相关产品推荐
相关产品推荐

