如何合并两个onEdit脚本在同一Google工作表中正常运行
「2022」工作表onEdit触发脚本合并方案
操作步骤(无脚本基础可直接照搬)
- 打开你的Google Sheets脚本编辑器,把之前粘贴的两个旧onEdit相关脚本全部删除
- 把下方给出的合并后完整代码全选复制,粘贴到脚本编辑器空白处
- 点击保存按钮,给脚本随便起个名字(比如
合并脚本)即可,两个原有功能会全部正常生效,不会冲突
合并后保留的功能说明
- 功能1:当你在「2022」工作表的**第6列(F列)**单元格输入
Cancelled/Removed时,对应行自动隐藏 - 功能2:当你在「2022」工作表的**第1列(A列)**单元格输入内容时,如果右侧相邻的B列对应单元格为空,会自动填入当前精确时间
合并后完整代码
// 配置项,后续要改对应列、触发值、表名直接改这里即可 var TARGET_SHEET = "2022"; var HIDE_TRIGGER_VALUE = "Cancelled/Removed"; var HIDE_TRIGGER_COLUMN = 6; var TIMESTAMP_TRIGGER_COLUMN = 1; function onEdit(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var activeSheet = ss.getActiveSheet(); // 不是目标工作表直接终止执行 if (activeSheet.getName() != TARGET_SHEET) return; var cell = ss.getActiveCell(); var cellValue = cell.getValue(); var cellColumn = cell.getColumn(); // 触发自动隐藏行逻辑 if (cellColumn == HIDE_TRIGGER_COLUMN) { if (cellValue == HIDE_TRIGGER_VALUE) { activeSheet.hideRow(cell); } } // 触发自动填入时间逻辑 if (cellColumn == TIMESTAMP_TRIGGER_COLUMN) { var nextCell = cell.offset(0, 1); if (nextCell.getValue() === '') { nextCell.setValue(new Date()); } } }
注:代码最上方的配置项单独做了拆分,后续你要调整触发规则,直接修改配置项里的对应值就行,不需要改动下方的执行逻辑。
内容的提问来源于stack exchange,提问作者Emman Aniga
相关产品推荐
相关产品推荐

