如何通过脚本自动将Google表格新建标签页重命名为当日日期
实现方法
spreadsheet.insertSheet(1)执行后会返回新创建的工作表对象,直接调用该对象的setName()方法,传入格式化后的当日日期字符串,就能完成新标签页的重命名,不需要额外查找新建的工作表。
注意Google表格的工作表标签名不支持/ ? * : [ ]特殊字符,格式化日期时不要使用这些字符作为分隔符,否则会触发脚本错误。
完整可用代码
// 绑定表单提交触发器的执行函数 function onFormSubmit(e) { const ss = SpreadsheetApp.getActiveSpreadsheet(); // 在第二个标签位插入新工作表,保存新表实例 const newSheet = ss.insertSheet(1); // 格式化当日日期为 年-月-日 格式,例:2024-06-15 const now = new Date(); const sheetName = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')}`; // 为新工作表设置名称 newSheet.setName(sheetName); }
补充说明
- 如果需要取表单实际提交的时间而非脚本执行时间,可以将日期获取逻辑替换为
const submitTime = e.namedValues['表单内时间列的标题'][0],直接用表单记录的提交时间命名 - 若存在同一天多次提交的场景,直接用日期命名会出现重名报错,可以在日期后追加小时、分钟字段做区分,注意不要使用非法字符做分隔符
- 配置触发器时,直接选择上述函数作为表单提交事件的绑定函数即可,不需要额外调整其他参数
内容的提问来源于stack exchange,提问作者Felipe Agliati
相关产品推荐
相关产品推荐

