我正在尝试自动复制母版,同时将当前母版重命名为当前的一天。
进程:
"04/18/2022"
的“副本”
非常感谢你的帮助
发布于 2022-04-19 05:31:19
试一试
function duplicateTemplate() {
var today = new Date();
var yesterday = new Date();
yesterday.setDate(today.getDate() - 1)
var d0 = Utilities.formatDate(yesterday, Session.getScriptTimeZone(), "MM/dd/yyyy");
var d1 = Utilities.formatDate(today, Session.getScriptTimeZone(), "MM/dd/yyyy");
SpreadsheetApp.getActiveSpreadsheet().getSheetByName(d0).activate()
SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet().setName(d1)
};处理脚本编辑器中的时区。若要进行更改,请单击脚本编辑器左侧的齿轮,选中第三个框,返回到脚本编辑器并选择appsscript.json。必要时改变。
编辑:如果“昨天的工作表”不存在,这个脚本将尝试找到上周的最新版本
function duplicateTemplate() {
const ss = SpreadsheetApp.getActiveSpreadsheet()
const today = new Date();
const d1 = Utilities.formatDate(today, Session.getScriptTimeZone(), "MM/dd/yyyy");
let previousDay = new Date();
let n = 1
while (n <= 7) {
previousDay.setDate(today.getDate() - n++)
let d0 = Utilities.formatDate(previousDay, Session.getScriptTimeZone(), "MM/dd/yyyy");
var sh = ss.getSheetByName(d0)
if (sh != null) {
sh.activate()
ss.duplicateActiveSheet().setName(d1)
break
}
}
};发布于 2022-04-19 05:07:21
从昨天开始每天复制一份师父
function dupsht() {
const ss = SpreadsheetApp.getActive();
const dt = new Date();//today
const ydt = new Date(dt.getFullYear(),dt.getMonth(),dt.getDate() - 1);//yesterday
const sh = ss.getSheetByName(Utilities.formatDate(ydt,Session.getScriptTimeZone(),"MM/dd/yyyy"));
ss.insertSheet(Utilities.formatDate(dt,Session.getScriptTimeZone(),"MM/dd/yyyy"),{template:sh})
}https://stackoverflow.com/questions/71919663
复制相似问题