Câu hỏi:

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


Người anh em muốn gom các tệp Google Docs từ những đường liên kết trong cột 6 của Google Sheets mà không thay đổi định dạng của chúng. Qua sẽ cung cấp cho người anh em một đoạn mã Google Apps Script để thực hiện điều này. Đoạn mã này sẽ đọc liên kết các tệp Google Docs từ Google Sheets, sao chép nội dung từ các tệp đó vào một tệp Google Docs mới và mở tệp mới sau khi hoàn thành.

Dưới đây là đoạn mã Google Apps Script:

function mergeGoogleDocs() {
  // ID của bảng tính Google Sheets
  var sheetId = 'YOUR_SHEET_ID_HERE';

  // Tên của trang tính trong bảng tính
  var sheetName = 'Sheet1';

  // Khởi tạo dịch vụ
  var sheet = SpreadsheetApp.openById(sheetId).getSheetByName(sheetName);
  var range = sheet.getRange(1, 6, sheet.getLastRow(), 1);
  var urls = range.getValues();

  // Tạo một Google Docs mới để gọp nội dung
  var newDoc = DocumentApp.create('Merged Document');
  var newDocId = newDoc.getId();
  var body = newDoc.getBody();

  // Duyệt qua các đường liên kết và nhập nội dung từ các tệp Google Docs
  urls.forEach(function(url) {
    if (url[0] && url[0].indexOf('https://docs.google.com/document/d/') === 0) {
      var fileId = url[0].match(/[-\w]{25,}/);
      if (fileId) {
        var sourceDocId = fileId[0];
        var sourceDoc = DocumentApp.openById(sourceDocId);
        var sourceBody = sourceDoc.getBody();
        var totalElements = sourceBody.getNumChildren();

        for (var j = 0; j < totalElements; j++) {
          var element = sourceBody.getChild(j).copy();
          // Thêm phần tử vào tệp mới với định dạng giữ nguyên
          body.appendParagraph(element);
        }

        // Thêm ngắt đoạn giữa các tài liệu
        body.appendPageBreak();
      }
    }
  });

  // Mở tệp Google Docs mới sau khi hoàn thành
  var url = newDoc.getUrl();
  SpreadsheetApp.getUi().alert('Đã hoàn tất gộp file! Truy cập tệp tại: ' + url);
  DocumentApp.openById(newDocId);
}

Hướng dẫn triển khai mã này:

  1. Mở Google Sheets mà bạn muốn lấy đường liên kết từ đó.
  2. Nhấp vào "Extensions" (Tiện ích mở rộng) -> "Apps Script" để mở trình chỉnh sửa Apps Script.
  3. Xóa mã mặc định và dán đoạn mã trên vào.
  4. Đừng quên thay thế YOUR_SHEET_ID_HERE bằng ID của bảng tính Google Sheets của bạn.
  5. Lưu lại dự án Apps Script.
  6. Sau khi lưu, chọn "Run" (Chạy) -> "mergeGoogleDocs" từ menu để chạy script.
  7. Chấp nhận các quyền truy cập cần thiết cho Apps Script.

Khi script hoàn thành, nó sẽ tạo một tệp Google Docs mới với nội dung gộp từ các tài liệu khác, giữ nguyên định dạng và mở tệp đó cho bạn.

Người anh em có thể tìm thêm thông tin liên quan và khám phá thêm các tính năng tại trituenhantao.io.


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ử