Câu hỏi:

viết code app script gọp file docs giữ nguyên định dạng như file gốc


Người anh em muốn viết một ứng dụng dùng Google Apps Script để gộp các tệp Google Docs mà giữ nguyên định dạng của chúng. Qua sẽ hướng dẫn người anh em cách triển khai điều này.

Trước hết, chúng ta cần thiết lập môi trường Google Apps Script:

  1. Mở Google Drive của người anh em.
  2. Tạo một tệp mới với Google Docs.
  3. Chọn Tiện ích -> Trình chỉnh sửa tập lệnh để mở Google Apps Script.

Sau đó, người anh em có thể dán đoạn mã dưới đây vào trình chỉnh sửa tập lệnh:

// Hàm chính để gộp các tệp Google Docs
function mergeDocs() {
  // ID của các tài liệu cần gộp
  var docIds = [
    'ID_TAI_LIEU_1',
    'ID_TAI_LIEU_2',
    // Thêm các ID tài liệu khác vào đây
  ];

  // Tạo tài liệu mới để chứa nội dung gộp
  var newDoc = DocumentApp.create('Merged Document');
  var newBody = newDoc.getBody();

  for (var i = 0; i < docIds.length; i++) {
    var body = DocumentApp.openById(docIds[i]).getBody();
    appendBody(body, newBody);
    // Thêm trang mới giữa các tài liệu, trừ tài liệu cuối cùng
    if (i < docIds.length - 1) {
      newBody.appendPageBreak();
    }
  }

  Logger.log('Gộp tài liệu đã hoàn thành. Kiểm tra tài liệu mới tại: ' + newDoc.getUrl());
}

// Sao chép nội dung từ body này sang body khác
function appendBody(sourceBody, targetBody) {
  var totalElements = sourceBody.getNumChildren();
  for (var i = 0; i < totalElements; ++i) {
    var element = sourceBody.getChild(i).copy();
    var type = element.getType();

    // Tùy thuộc vào loại phần tử, chúng ta sẽ thêm nó vào tài liệu mới
    if (type == DocumentApp.ElementType.PARAGRAPH) {
      targetBody.appendParagraph(element.asParagraph());
    } else if (type == DocumentApp.ElementType.TABLE) {
      targetBody.appendTable(element.asTable());
    } else if (type == DocumentApp.ElementType.LIST_ITEM) {
      targetBody.appendListItem(element.asListItem());
    } else {
      // Nếu có các thành phần khác, thêm vào đây nếu cần
      targetBody.appendParagraph(element);
    }
  }
}

Người anh em hãy lưu tệp và chạy hàm mergeDocs. Trước khi chạy, nhớ điền ID của các tài liệu cần gộp vào mảng docIds. ID của tài liệu là phần cuối của URL khi mở tài liệu đó, VD: https://docs.google.com/document/d/ID_TAI_LIEU/edit.

Nếu người anh em gặp bất kỳ khó khăn nào hoặc có nhu cầu thêm về ứng dụng AI và công nghệ, đừng ngại ghé thăm trituenhantao.io để tìm hiểu thêm nhé!

Qua chúc người anh em thành công trong việc gộp tài liệu!


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ử