Trong Bảng tính Google có tên là Tham dự, có một bảng gọi là Mẫu . Người dùng sao chép trang tính này, đổi tên trang tính với ngày hiện tại và sử dụng trang tính này để đánh dấu điểm danh cho sinh viên. Bảng mẫu chứa các ô được bảo vệ và điểm danh được đánh dấu bằng cách nhập số ID của Sinh viên vào khoảng trống đã cho (các ô không được bảo vệ). Tôi sử dụng tập lệnh sau để sao chép nhiều trang tính và đổi tên chúng hàng ngày:
function createDailyAttendance() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var refss = ss.getSheetByName("DataPointers");
// Get the range Row and Column information.
var dataRangeRow = refss.getRange("K2").getValue();
//var dataRangeCol = ss.getRangeByName(ColName).getValue();
// Get the range of cells that store Duplicate sheet name.
var AttendanceDataRange = refss.getRange(dataRangeRow);
var AttendanceObjects = AttendanceDataRange.getValues();
var template = ss.getSheetByName('Template');
for (var i=0; i < AttendanceObjects.length; i++) {
// Put the sheet you want to create in a variable
var sheet = ss.getSheetByName(AttendanceObjects[i]);
// Check if the sheet you want to create already exists. If so,
// log this and loop back. If not, create the new sheet.
if (sheet) {
Logger.log("Sheet " + AttendanceObjects[i] + "already exists");
} else {
template.copyTo(ss).setName(AttendanceObjects[i]);
}
}
return;
}
Tập lệnh này giúp tôi tạo nhiều bản sao của trang tính từ Bản mẫu nhưng các bản sao trùng lặp không giữ quyền của Ô / Phạm vi. Có cách nào để thêm chức năng lặp để trích xuất quyền từ Mẫu và áp dụng nó mỗi khi vòng lặp template.copyTo
tạo một trang tính không?