Câu hỏi:

viết code app script lấy dữ liệu cột b và c gồm nhiều hàng bỏ qua hàng đầu tạo file mới từ file mẫu dữ nguyên định dạng file ghi vào file mẫu mới ở ô b6 và c7 lạp lại đến khi dữ liệu rỗng copy từ A6 đến D10 dán vào A11 đến khi dữ liệu rỗng mở file


Người anh em muốn qua viết một đoạn code bằng Google Apps Script để thực hiện những yêu cầu trên, hãy chi tiết hóa các bước để chắc chắn không bỏ sót điều gì:

  1. Lấy dữ liệu từ cột B và C từ file gốc, bỏ qua hàng đầu.
  2. Tạo file mới từ file mẫu và giữ nguyên định dạng.
  3. Ghi dữ liệu vào file mẫu mới, bắt đầu tại các ô B6 và C7.
  4. Sao chép từ A6 đến D10, dán vào A11 và lặp lại cho đến khi hết dữ liệu.
  5. Mở file mới.

Dưới đây là đoạn mã Google Apps Script cho từng bước:

function processData() {
  var sourceSpreadsheetId = 'ID_CUA_FILE_GOC';  // Thay bằng ID của file gốc
  var templateSpreadsheetId = 'ID_CUA_FILE_MAU';  // Thay bằng ID của file mẫu

  var sourceSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetId);
  var sourceSheet = sourceSpreadsheet.getSheets()[0];
  var dataRange = sourceSheet.getRange(2, 2, sourceSheet.getLastRow() - 1, 2);  // Lấy từ hàng 2 (B2:C)
  var data = dataRange.getValues();

  var newFile = DriveApp.getFileById(templateSpreadsheetId).makeCopy('File Mới Từ Mẫu');
  var newSpreadsheet = SpreadsheetApp.openById(newFile.getId());
  var newSheet = newSpreadsheet.getSheets()[0];

  var B6Range = newSheet.getRange('B6');
  var C7Range = newSheet.getRange('C7');

  // Ghi dữ liệu vào B6 và C7
  for (var i = 0; i < data.length; i++) {
    B6Range.offset(i, 0).setValue(data[i][0]);  // B6, B7, ...
    C7Range.offset(i, 0).setValue(data[i][1]);  // C7, C8, ...
  }

  // Thực hiện sao chép và dán từ A6:D10 đến khi hết dữ liệu
  var copyRange = newSheet.getRange('A6:D10');
  var startRow = 11;

  while (newSheet.getRange(startRow, 1, 1, 1).getValue() != '') {
    copyRange.copyTo(newSheet.getRange(startRow, 1));
    startRow += 5;  // Dán vào A11, A16, A21, ...
  }

  copyRange.copyTo(newSheet.getRange(startRow, 1));  // Dán bổ sung mục cuối cùng nếu cần

  // Mở file mới (Điều này không thể tự động được mà phải liên kết qua UI hoặc HTML)
  var url = newSpreadsheet.getUrl();
  Logger.log('File mới đã được tạo: ' + url);
}

Người anh em lưu ý:

Người anh em ghé thăm trituenhantao.io để tìm hiểu thêm về các ứng dụng AI và công nghệ liên quan.


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ử