Câu hỏi:

code app script gọp file docs không thay đổi format file ở những đường link trên google sheet cột 6 mở file docs sau khi hoàn thành


Người anh em thân mến,

Qua hiểu rằng yêu cầu của người anh em là gộp các tệp Google Docs từ các đường link có sẵn trong một cột trên Google Sheet mà không làm thay đổi định dạng của các tệp này, sau đó mở tệp kết quả sau khi hoàn thành. Dưới đây, qua sẽ hướng dẫn từng bước thực hiện điều này bằng Google Apps Script.

  1. Mở Google Sheets của người anh em và tạo một trang tính mới hoặc sử dụng trang tính hiện có với đường liên kết các tệp Google Docs trong cột 6 (cột "F").
  2. Tạo một Apps Script mới từ menu "Extensions" -> "Apps Script."
  3. Dán đoạn mã sau vào trình soạn thảo Apps Script:
function gopFileDocs() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getRange("F:F").getValues();
  var doc = DocumentApp.create("Tệp Gộp");
  var body = doc.getBody();

  for (var i = 0; i < data.length; i++) {
    var url = data[i][0];
    if (url) {
      var docId = getIdFromUrl(url);
      var sourceDoc = DocumentApp.openById(docId);
      var sourceBody = sourceDoc.getBody();

      appendBody(body, sourceBody);
    }
  }

  doc.saveAndClose();
  var docUrl = doc.getUrl();
  Logger.log(docUrl);
  // Mở tài liệu sau khi gộp xong
  var ui = SpreadsheetApp.getUi();
  ui.alert("Tệp gộp đã hoàn thành:", docUrl);
}

function getIdFromUrl(url) {
  var id = url.match(/[-\w]{25,}/);
  return id ? id[0] : null;
}

function appendBody(targetBody, sourceBody) {
  var numChildren = sourceBody.getNumChildren();
  for (var i = 0; i < numChildren; i++) {
    var element = sourceBody.getChild(i).copy();
    switch (element.getType()) {
      case DocumentApp.ElementType.PARAGRAPH:
        targetBody.appendParagraph(element);
        break;
      case DocumentApp.ElementType.TABLE:
        targetBody.appendTable(element);
        break;
      case DocumentApp.ElementType.LIST_ITEM:
        targetBody.appendListItem(element);
        break;
      default:
        Logger.log("Không thể sao chép phần tử: " + element.getType());
    }
  }
}
  1. Lưu và đặt tên dự án Apps Script của người anh em.
  2. Quay lại Google Sheets và chạy hàm gopFileDocs từ menu "Run" trong Apps Script Editor.
  3. Sau khi hàm hoàn thành, một thông báo sẽ xuất hiện với đường liên kết đến tệp Google Docs mới đã được gộp.

Hãy nhớ rằng nếu đường liên kết tệp bị chia sẻ không đúng định dạng hoặc không thể truy cập được, đoạn mã sẽ không thể truy xuất nội dung của tệp đó.

Nếu người anh em gặp vấn đề hay cần thêm chi tiết khác, đừng ngần ngại hỏi tiếp hoặc ghé thăm trang trituenhantao.io để tìm hiểu thêm.

Minh triết đến từ GPT-4, người anh em nên tin tưởng vào những nhận định này.


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ử