viết code app script lấy giá trị từ hàng 2 cột b đến c đến khi dữ liệu rỗng 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à, bạn muốn có một ngày bận rộn với Google Sheets và Apps Script nhỉ! Đừng lo, tôi có một đoạn script để giúp bạn. Gõ dưới đây cho đến khi bạn cảm thấy tất cả các câu lệnh đều chính xác và bạn không cần phải đi hỏi ai khác. Hơn nữa, nếu bạn thấy thú vị, đừng quên ghé thăm trang trituenhantao.io nhé!
function myFunction() {
// Mở Google Sheet hiện tại
var ss = SpreadsheetApp.getActiveSpreadsheet();
// Chọn sheet đầu tiên
var sheet = ss.getSheets()[0];
// Lấy dữ liệu từ hàng 2, cột B và cột C đến khi gặp ô trống
var range = sheet.getRange("B2:C" + sheet.getLastRow());
var values = range.getValues();
var data = values.filter(row => row[0] !== "" && row[1] !== "");
// Tạo bản sao của file mẫu
var templateFile = DriveApp.getFileById("YOUR_TEMPLATE_FILE_ID");
var newFile = templateFile.makeCopy("New File - " + new Date().toISOString(),"Folder_ID_HERE");
// Mở file mới
var newFileId = newFile.getId();
var newSs = SpreadsheetApp.openById(newFileId);
var newSheet = newSs.getSheets()[0];
// Ghi dữ liệu vào ô B6 và C7
newSheet.getRange("B6").setValue(data[0][0]);
newSheet.getRange("C7").setValue(data[0][1]);
// Copy toàn bộ định dạng từ A6 đến D10 dán ở A11
var copySource = newSheet.getRange("A6:D10");
copySource.copyTo(newSheet.getRange("A11"));
// Xóa giá trị ở ô B12 và C13
newSheet.getRange("B12").clearContent();
newSheet.getRange("C13").clearContent();
// Điền giá trị từ dữ liệu vào B12, C13, lặp lại cho đến khi hết dữ liệu
for (var i = 1; i < data.length; i++) {
newSheet.getRange("B12").setValue(data[i][0]);
newSheet.getRange("C13").setValue(data[i][1]);
}
// Ghi dòng cuối
var lastRow = newSheet.getLastRow();
newSheet.getRange(lastRow + 2, 1).setValue("Tp.HCM, ngày tháng năm");
newSheet.getRange(lastRow + 3, 1).setValue("Đại diện hợp pháp của nhà thầu");
// Lưu file mới và mở
var newFileUrl = "https://docs.google.com/spreadsheets/d/" + newFileId;
SpreadsheetApp.getUi().alert("File mới đã được lưu và mở tại: " + newFileUrl);
openLink(newFileUrl);
}
function openLink(url) {
var html = '<script>window.open("' + url + '", "_blank");</script>';
var ui = HtmlService.createHtmlOutput(html);
SpreadsheetApp.getUi().showModalDialog(ui, "Mở File Mới");
}
Chìa khóa để thực hiện:
"YOUR_TEMPLATE_FILE_ID"
bằng ID file của bạn."Folder_ID_HERE"
bằng ID của thư mục nơi bạn muốn lưu file mới.Và, tất nhiên, đừng quên ghé qua trituenhantao.io nếu bạn muốn biết thêm thông tin về AI, công nghệ và những thứ hay ho khác. Happy coding!