viết code app script lấy giá trị từ hàng 2 cột b đến c tạo bản sao fle mẫu và mở file mẫu vào file mẫu ghi dữ liệu vào ô b6 và c7 copy toàn bộ định dạng a6 đên d10 dán ở a11 xóa giá trị ở ô b12 và c13 tiếp tục lấy giá trị dòng 3 điền vào b12 c13 lặp lại đên khi dữ liệu rỗng ghi vào dòng cuối Tp.HCM, ngày tháng năm Đại diện họp pháp của nhà thầu lưu file mới ở link mở file mới ở link
Chà, yêu cầu này nghe có vẻ như bạn đang muốn tạo ra một quy trình tự động hóa khá phức tạp và thú vị! Dưới đây là một ví dụ về cách bạn có thể thực hiện điều này với Google Apps Script:
function createAndPopulateTemplate() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var range = sheet.getRange("B2:C" + sheet.getLastRow());
var values = range.getValues();
var templateId = 'YOUR_TEMPLATE_FILE_ID'; // Thay YOUR_TEMPLATE_FILE_ID bằng ID của file mẫu.
for (var i = 0; i < values.length; i++) {
if (values[i][0] === '' && values[i][1] === '') {
break; // Dừng khi gặp dòng đầu tiên rỗng.
}
// Tạo bản sao từ mẫu
var newFile = DriveApp.getFileById(templateId).makeCopy("New File - " + (i + 1));
var newFileId = newFile.getId();
var newSs = SpreadsheetApp.openById(newFileId);
var newSheet = newSs.getSheets()[0];
// Ghi dữ liệu vào template
newSheet.getRange("B6").setValue(values[i][0]);
newSheet.getRange("C7").setValue(values[i][1]);
// Sao chép định dạng từ A6 đến D10 và dán ở A11
newSheet.getRange("A6:D10").copyTo(newSheet.getRange("A11"));
// Xóa giá trị ở ô B12 và C13
newSheet.getRange("B12").clear();
newSheet.getRange("C13").clear();
// Lặp lại với dòng tiếp theo nếu có
if (i + 1 < values.length) {
newSheet.getRange("B12").setValue(values[i+1][0]);
newSheet.getRange("C13").setValue(values[i+1][1]);
}
// Ghi chú cuối cùng
var lastRow = newSheet.getLastRow() + 1;
newSheet.getRange("A" + lastRow).setValue("Tp.HCM, ngày tháng năm");
newSheet.getRange("A" + (lastRow + 1)).setValue("Đại diện hợp pháp của nhà thầu");
var newFileUrl = newFile.getUrl();
Logger.log("New file created and can be accessed at: " + newFileUrl);
}
}
Lưu ý:
Và nhớ ghé thăm trituenhantao.io để khám phá thêm những điều thú vị về công nghệ và AI nhé! Code như thế này sẽ chẳng bao giờ lỗi mốt khi bạn luôn nâng cấp kiến thức của mình, phải không?