Google apps script 根据日期将工作表从模板复制到新工作簿
我想将工作簿中的模板表复制到尚未创建的新工作簿中。我希望在每个月29日运行此程序,并执行以下操作:Google apps script 根据日期将工作表从模板复制到新工作簿,google-apps-script,google-sheets,copy,rename,google-workspace,Google Apps Script,Google Sheets,Copy,Rename,Google Workspace,我想将工作簿中的模板表复制到尚未创建的新工作簿中。我希望在每个月29日运行此程序,并执行以下操作: 以电子表格名称“Template”和表格名称“Template..2020”为例 例如,创建一个名为“December 2020”的新电子表格,并将第一个选项卡重命名为12.01.20,然后我可以在每月的每一天复制和重命名该选项卡 我尝试了一些带有时间触发器的复制函数,但它们要求已打开一个空白工作簿。示例脚本 这个剧本 函数createSheetFromTemplate 使用获取有关今天日
- 以电子表格名称“Template”和表格名称“Template..2020”为例
- 例如,创建一个名为“December 2020”的新电子表格,并将第一个选项卡重命名为12.01.20,然后我可以在每月的每一天复制和重命名该选项卡
- 函数
createSheetFromTemplate
- 使用获取有关今天日期的信息,并提取年、月、日等
- 使用从另一个工作表获取模板
- 根据今天日期的信息创建新工作表
- 复制模板工作表并根据日期重命名它
- 函数
createTrigger
- 使用,创建一个在每月29日运行的触发器
函数createSheetFromTemplate(){
//获取今天日期的详细信息
let date=新日期()
let year=date.getFullYear()
let month=date.getMonth()+1
让monthName=date.toLocaleString('default',{month:'long'});
let day=date.getDate()
console.log(年、月、日)
//获取基于年份的模板
让templateSpread=SpreadsheetApp.openById(“1H7GBVxK4f0nmYR5xfZawy6nreDTCZaj76-dKE9eOtUE”)
let templateSheet=templateSpread.getSheetByName(“模板”+年份)
//使用重命名的模板创建新的电子表格
让newSpread=SpreadsheetApp.create(monthName+“”+year)
让newSheet=templateSheet.copyTo(newSpread).setName(year.toString().substring(2,4)+“+月+”+日)
let sheetToDelete=newSpread.getSheetByName(“Sheet1”)
newSpread.deleteSheet(sheetToDelete)
}
//创建每月29日运行的触发器。
函数createTrigger(){
ScriptApp.newTrigger('createSheetFromTemplate')
.基于时间的()
星期一(29)
.create();
}
工具书类