ในสเปรดชีตของ Google ที่เรียกว่าการเข้าร่วมประชุมมีแผ่นที่เรียกว่าแม่แบบ ผู้ใช้ทำซ้ำแผ่นงานนี้เปลี่ยนชื่อแผ่นงานด้วยวันที่ปัจจุบันและใช้แผ่นงานนี้เพื่อทำเครื่องหมายการเข้าร่วมสำหรับนักเรียน แผ่นแม่แบบมีเซลล์ที่ได้รับการป้องกันและการเข้าร่วมจะถูกทำเครื่องหมายด้วยการป้อนหมายเลข ID ของนักเรียนในพื้นที่ที่ให้ (เซลล์ที่ไม่มีการป้องกัน) ฉันใช้สคริปต์ต่อไปนี้เพื่อทำซ้ำหลายแผ่นและเปลี่ยนชื่อทุกวัน:
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;
}
สคริปต์นี้ช่วยให้ฉันสร้างสำเนาหลายแผ่นจากเทมเพลตแต่สำเนาที่ซ้ำกันไม่ได้รับอนุญาต Cell / Range มีวิธีเพิ่มฟังก์ชั่นการวนซ้ำซึ่งดึงการอนุญาตจากเทมเพลตและนำไปใช้ทุกครั้งที่ลูปtemplate.copyTo
สร้างชีตหรือไม่?