我试图让我们办公室里可能不知道如何编辑脚本的用户尽可能简单。现在,我有以下代码(见下面),但是,我必须列出每个工作表名,而不是id,以便自动将所有工作表包含在这个文件中。
function onEdit(event) {
dateStamp(event);
moveClosedCases(event);
}
function dateStamp(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log(event.source)
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
//CORE VARIABLES
// The column you want to check if something is entered.
var COLUMNTOCHECK = 11;
// Where you want the date time stamp offset from the input location. [row, column]
var DATETIMELOCATION = [0, -10];
// Sheets you are working on
var SHEETNAMES = ['JC', 'AU', 'AP', 'NA', 'BG', 'CE']
//checks that we're on the correct sheet.
if (SHEETNAMES.includes(s.getSheetName())) {
//checks the column to ensure it is on the one we want to cause the date to appear.
if (r.getColumn() === COLUMNTOCHECK) {
var dateTimeCell = r.offset(DATETIMELOCATION[0], DATETIMELOCATION[1]);
dateTimeCell.setValue(new Date());
}
}
}
function moveClosedCases(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
// Sheets you are working on
var SHEETNAMES = ['JC', 'AU', 'AP', 'NA', 'BG', 'CE']
var COLUMNTOCHECK = 2 //1 = A, 2 = B etc.
if (SHEETNAMES.includes(s.getName()) && r.getColumn() == COLUMNTOCHECK && (['Closed', 'closed', 'No Response', 'no response', 'No response'].includes(r.getValue()))) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Closed Cases");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
发布于 2021-05-24 09:59:02
您可以使用类电子表格的getSheets
方法来获取电子表格的所有表。
示例
/**
* Writes to the console the name of all the sheets of the active spreadsheet
*/
function logAllSheetsNames(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheets = spreadsheet.getSheets();
sheets.forEach(sheet => console.log(sheet.getName());
}
相关
资源
https://webapps.stackexchange.com/questions/154651
复制相似问题