Câu hỏi:

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 ý:

  1. Đừng quên thay thế 'YOUR_TEMPLATE_FILE_ID' bằng ID thật của file mẫu.
  2. Bạn có thể muốn thêm ngày tháng năm chính xác trong văn bản đánh dấu tại Tp.HCM tùy theo yêu cầu cụ thể của bạn.
  3. Để biết ID của một file Google Drive, bạn có thể mở file đó và kiểm tra dãy ký tự trong URL của file.

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?


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử