我正在运行一个脚本,该脚本可以获取最新的图纸并进行复制。我想在每个星期二和星期五运行此程序。我已将脚本设置为使用App脚本仪表板自动触发。但是,脚本失败,并显示错误“请先选择一个活动工作表”
如果我从脚本中运行代码,则可以正常工作。我猜这是因为文件已打开并且活动表是我选择的文件。
这是我的代码:
function createNewSheet() {
//Calcualte tomorrow's date
var today = new Date();
var tomo = new Date();
tomo.setDate(today.getDate()+1);
var SheetName = tomo.toLocaleDateString();
Logger.log(SheetName);
//Duplicate sheet and set the name to tommorrow's date
activeSheet = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(activeSheet.getName());
activeSheet.duplicateActiveSheet();
newactiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
newactiveSheet.setName(SheetName);
}
我想知道我需要在代码中进行哪些更改,以确保自动化能够正常运行而不会出错。
答案 0 :(得分:0)
您可以尝试以下代码吗?
function createNewSheet() {
//Calcualte tomorrow's date
var today = new Date();
var tomo = new Date();
var yesterday = new Date();
yesterday.setDate(today.getDate()-1);
tomo.setDate(today.getDate()+1);
var SheetName = tomo.toLocaleDateString();
Logger.log(SheetName);
//Duplicate sheet and set the name to tommorrow's date
activeSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(yesterday).activate();
Logger.log(activeSheet.getName());
activeSheet.duplicateActiveSheet();
newactiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
newactiveSheet.setName(SheetName);
}