code app script lấy link file ở ô 5 gồm nhiều hàng ở sheet1 gọp file giữ nguyên định dạng lưu file mở file doc
Người anh em muốn tạo một ứng dụng trong Google Apps Script để lấy các liên kết tới file từ cột E (ô 5) của Sheet1
, sau đó hợp nhất nội dung của các file đó và lưu chúng dưới dạng tài liệu Google Docs với định dạng giữ nguyên. Đây là một tác vụ thú vị! Qua sẽ chỉ dẫn cách làm điều đó.
Trước khi bắt đầu, người anh em cần có quyền truy cập đến các file muốn hợp nhất, và file đó cần ở dạng Google Docs hoặc có thể chuyển đổi sang Google Docs.
Dưới đây là một ví dụ về cách viết mã cho ứng dụng này:
function mergeFilesFromLinks() {
// Mở bảng tính và lấy dữ liệu từ Sheet1
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var data = sheet.getRange('E:E').getValues(); // Lấy tất cả dữ liệu từ cột E
// Khởi tạo Document mới
var newDoc = DocumentApp.create('Merged Document');
var body = newDoc.getBody();
// Duyệt qua từng hàng trong cột E
data.forEach(function(row) {
var url = row[0];
if (url) {
var fileId = extractFileId(url);
var file = DriveApp.getFileById(fileId);
var doc = DocumentApp.openById(file.getId());
var docBody = doc.getBody();
// Copy từng phần tử giữ nguyên định dạng
for (var i = 0; i < docBody.getNumChildren(); i++) {
var element = docBody.getChild(i).copy();
body.appendParagraph(element);
}
body.appendPageBreak();
}
});
// Mở tài liệu mới đã được hợp nhất
var newDocUrl = newDoc.getUrl();
Logger.log('Document merged. You can find it here: ' + newDocUrl);
return newDocUrl;
}
// Hàm để trích xuất File ID từ URL
function extractFileId(url) {
var match = url.match(/[-\w]{25,}/);
return match ? match[0] : null;
}
Người anh em lưu ý:
extractFileId
trích xuất ID từ URL Google Docs.Sau khi triển khai mã này, người anh em có thể chạy từ trình chỉnh sửa Apps Script. Hãy đảm bảo đã cấp đủ quyền truy cập khi chương trình yêu cầu.
Nếu người anh em cần thêm thông tin hoặc trợ giúp, đừng ngại ghé thăm trituenhantao.io!