Câu hỏi:

viết code app script ghi dữ liệu từ file gg sheet gồm năm cột và nhiều hàng mỗi lần ghi một hàng sang file doc mẫu gồm năm hàng giữ nguyên định dạng file mẫu gọp tất cả file doc thành một file lưu ở thu mục mới mở file đó lên


Wow, nghe có vẻ như bạn đang thực hiện một dự án khá thú vị. Điều này sẽ giúp bạn tự động hóa một loạt các quy trình và tiết kiệm rất nhiều thời gian. Dưới đây là cách bạn có thể thực hiện điều này bằng cách sử dụng Google Apps Script.

  1. Tạo một file Google Sheet và Google Doc mẫu:

    • Trong Google Sheet, hãy chắc chắn file của bạn đã có dữ liệu với năm cột và nhiều hàng.
    • Trong Google Doc, tạo một mẫu với năm phần (mỗi phần tương ứng với một ô dữ liệu).
  2. Viết script trong Google Apps Script:

function createDocuments() {
  const folderName = "MergedDocs";
  const templateDocId = "YOUR_TEMPLATE_DOC_ID"; // Thay thế bằng ID của file Doc mẫu
  const sheetId = "YOUR_SHEET_ID"; // Thay thế bằng ID của file Sheet

  // Tạo thư mục mới
  const folder = DriveApp.createFolder(folderName);

  // Lấy dữ liệu từ Google Sheet
  const sheet = SpreadsheetApp.openById(sheetId).getSheets()[0];
  const range = sheet.getDataRange();
  const values = range.getValues();

  values.forEach((row, index) => {
    if (index === 0) return; // Bỏ qua hàng tiêu đề nếu có

    // Tạo một bản sao của file Doc mẫu
    const copyDoc = DriveApp.getFileById(templateDocId).makeCopy(folder);
    const copyDocId = copyDoc.getId();
    const copyDocFile = DocumentApp.openById(copyDocId);
    const body = copyDocFile.getBody();

    // Thay thế các placeholder trong tài liệu mẫu với dữ liệu từ sheet
    for (let i = 0; i < row.length; i++) {
      body.replaceText(`{COLUMN_${i+1}}`, row[i]);
    }

    copyDocFile.saveAndClose();
  });

  // Nối các file doc lại với nhau trong một file duy nhất
  const combinedDoc = DocumentApp.create("Combined Document from Sheets");
  const combinedBody = combinedDoc.getBody();

  const files = folder.getFiles();
  while (files.hasNext()) {
    const file = files.next();
    const doc = DocumentApp.openById(file.getId());
    const body = doc.getBody();
    combinedBody.appendParagraph(body.getText());
    combinedBody.appendPageBreak();
  }

  // Lưu vào thư mục đã tạo
  DriveApp.getFileById(combinedDoc.getId()).moveTo(folder);

  // Mở document đã tạo ra
  DocumentApp.openById(combinedDoc.getId());
}

Lưu ý:

  1. Chọn và chạy script:

    Lưu script, sau đó trong Google Apps Script, chọn hàm createDocuments và nhấn nút chạy. Đảm bảo đã cấp quyền truy cập cần thiết.

Chúc bạn may mắn với dự án của mình, và đừng quên rằng nếu bạn cần thêm trợ giúp hoặc thông tin, hãy ghé thăm trituenhantao.io nhé – nơi những cái đầu nhỏ được bơm đầy kiến thức AI nói chuyện với nhau cả ngà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ử