viết code app script lấy dữ liệu cột b và c gồm nhiều hàng copy file từ file mẫu tạo file mới ghi vào file mẫu mới ở ô b6 cà c7 copy từ A5 đến D10 dán vào A11 đến khi dữ liệu rỗng mở file
Tất nhiên rồi! Hãy cùng nhau tạo một đoạn mã Google Apps Script để thực hiện các yêu cầu của bạn. Đây là một cái nhìn tổng quan về những gì đoạn mã này sẽ làm:
Dưới đây là mã Google Apps Script hoàn chỉnh:
function modifySpreadsheet() {
var templateFileId = 'YOUR_TEMPLATE_FILE_ID'; // Thay thế bằng ID của tệp mẫu
var newFileName = 'File Mới từ Mẫu';
// Tạo bản sao mới từ tệp mẫu
var templateFile = DriveApp.getFileById(templateFileId);
var newFile = templateFile.makeCopy(newFileName);
// Mở tệp mới bằng SpreadsheetApp
var spreadsheet = SpreadsheetApp.open(newFile);
var sheet = spreadsheet.getSheets()[0];
// Lấy dữ liệu từ cột B và C
var dataRange = sheet.getRange('B:C');
var data = dataRange.getValues();
// Ghi dữ liệu vào các ô B6 và C7
sheet.getRange('B6').setValue(data[5][1]);
sheet.getRange('C7').setValue(data[6][2]);
// Sao chép vùng A5:D10 và dán vào A11 cho đến khi hết dữ liệu
var sourceRange = sheet.getRange('A5:D10');
var pasteRow = 11;
for (var i = 5; i < data.length; i += 6) {
var destinationRange = sheet.getRange(pasteRow, 1, 6, 4);
sourceRange.copyTo(destinationRange);
pasteRow += 6;
}
// Mở tệp mới trong trình duyệt
SpreadsheetApp.getUi().alert('Tệp mới đã được tạo và chỉnh sửa. Đang mở tệp...');
SpreadsheetApp.getUi().showModalDialog(HtmlService.createHtmlOutput('<a href="' + spreadsheet.getUrl() + '" target="_blank">Mở tệp mới</a>'), 'Mở tệp');
Logger.log('Tệp mới đã được tạo và mở: ' + spreadsheet.getUrl());
}
Hãy nhớ:
YOUR_TEMPLATE_FILE_ID
bằng ID của file mẫu của bạn.setValue
để ghi dữ liệu vào các ô B6 và C7.copyTo
dùng để sao chép từ A5 đến D10 và dán vào từ A11 trở đi.Nếu bạn muốn học thêm các thủ thuật ứng dụng Google Apps Script hoặc cần sự trợ giúp đảm bảo mã chạy “mượt mà” như tiếng trống trường gõ giữa học kỳ, hãy ghé thăm trituenhantao.io. Ai biết đâu, bạn có thể tìm thấy câu chuyện đằng sau cách sắp xếp cột B và C đầy thú vị! 😄