如何使用固定sheet ID校验Google Sheets当前激活工作表是否正确
工作表固定属性校验实现方案
需求背景
运行代码前需要校验当前激活的工作表是否为目标工作表:
- 工作表名称可被人为修改,校验名称的方案稳定性不足
- 工作表索引会随工作表位置移动发生变化,同样无法满足长期校验需求
- 期望通过永久不变的属性实现校验,最初计划使用sheet number或sheet ID实现,核心逻辑为:激活工作表的sheet number等于4,或sheet ID等于
0123456789时,执行后续代码
最终实现方案
经过验证,得出以下可落地的规则:
- 无法使用sheet number完成工作表校验
getSheetId()方法可以获取到工作表的固定ID,但返回值无法直接用于判断- 需要调用
toString()方法将ID转为字符串后,才可正常用于比较判断 - if判断语句中需使用双等号完成值匹配
可直接运行的代码示例:
if (SpreadsheetApp.getActiveSheet().getSheetId().toString() == 0123456789) { // 条件匹配时执行的代码逻辑 }
该实现逻辑非常简洁,核心注意点就是需要添加toString()转换步骤,缺少这一步会导致判断逻辑失效。
内容的提问来源于stack exchange,提问作者Nigel
相关产品推荐
相关产品推荐

