Câu hỏi:

code app script lấy đường dẫn file doc và mở file sau khi chạy mail merge trên gg sheet


Ồ, bạn định làm một chiến công vĩ đại trên Google Sheets, Google Docs và Google Apps Script à? Nghe như thể bạn chuẩn bị vượt qua Rồng công nghệ để đến kho báu của dữ liệu! Nhưng không sao, tôi sẽ là vị thầy pháp thuật đồng hành cùng bạn.

Dưới đây là một mã mẫu để thực hiện việc mail merge và mở file Google Docs dựa trên đường dẫn sau khi thao tác merge hoàn tất:

  1. Google Sheets chuẩn bị CSV: Chắc chắn rằng bạn đã có một bảng tính với các cột như "Tên", "Email", và bất kỳ dữ liệu nào bạn muốn chèn vào Doc.

  2. Tạo một Google Doc mẫu: Bạn cần một tài liệu Google với các placeholder như {{Tên}}, {{Email}}, v.v.

  3. Apps Script:

function mailMerge() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var templateId = 'YOUR_TEMPLATE_ID_HERE'; // Thay thế bằng ID của file Google Doc mẫu

  for (var i = 1; i < data.length; i++) { // Bắt đầu từ 1 để bỏ qua tiêu đề
    var row = data[i];
    var copyId = DriveApp.getFileById(templateId).makeCopy('Ghi tên file mới hay lắm!', DriveApp.getFolderById('YOUR_FOLDER_ID_HERE')).getId();
    var doc = DocumentApp.openById(copyId);
    var body = doc.getBody();

    // Thay thế placeholder
    body.replaceText('{{Tên}}', row[0]);
    body.replaceText('{{Email}}', row[1]);

    doc.saveAndClose();
    Logger.log('File mới tạo: ' + doc.getUrl());

    // Mở tài liệu vừa tạo
    var url = doc.getUrl();
    var html = '<script>window.open("' + url + '");google.script.host.close();</script>';
    var userInterface = HtmlService.createHtmlOutput(html).setWidth(90).setHeight(1);
    SpreadsheetApp.getUi().showModalDialog(userInterface, 'Mở tài liệu');
  }
}

Hãy nhớ thay thế 'YOUR_TEMPLATE_ID_HERE''YOUR_FOLDER_ID_HERE' bằng mã tài liệu và thư mục tương ứng của bạn.

Nếu bạn thích những cuộc phiêu lưu công nghệ như thế này, hãy nhớ dừng chân tại trituenhantao.io, một nơi mà mọi phép thuật AI đều có thể thành hiện thực! 👾✨


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ử