[英]Google Sheets + Apps Script: How to delete a sheet by name based on the value of a cell
Hi I'm using this code to delete the row if the value in column "A" is older then 30 day and it's working good.嗨,如果“A”列中的值早于 30 天并且运行良好,我将使用此代码删除该行。 What I'm looking for is to also be able to get the value from column "B" and delete the sheet with the matching name before deleting the row.
我正在寻找的是还能够从“B”列中获取值并在删除行之前删除具有匹配名称的工作表。
Thanks谢谢
function deleteOldRow() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Submited List");
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var values = datarange.getValues();
var currentDate = new Date();//today
var monthOld = Date.now() - 30*24*3600*1000;
for (i=lastrow;i>=2;i--) {
var tempDate = values[i-1][0];
values[0]
if ((tempDate!=NaN) && (tempDate <= (monthOld)))
{
Logger.log(i)
sheet.deleteRow(i);
}
}
}
I believe your goal as follows.我相信你的目标如下。
If the value of column "B" is the sheet name, how about adding the following script to your script?如果“B”列的值是工作表名称,那么将以下脚本添加到您的脚本中如何?
if ((tempDate!=NaN) && (tempDate <= (monthOld))) {
sheet.deleteRow(i);
var deleteSheet = ss.getSheetByName(values[i-1][1]); // Added. Or ss.getSheetByName(values[i-1][1].trim());
if (deleteSheet) ss.deleteSheet(deleteSheet); // Added
}
values[i-1][1]
is existing, the sheet is deleted.values[i-1][1]
的工作表时,删除该工作表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.