Сценарий приложения - заполнение шаблона документов Google с помощью форм Google и отправка в формате PDF по электронной почте - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь использовать скрипт приложения с таблицей форм Google для заполнения шаблона документов, который я затем отправляю в виде PDF-файла по электронной почте.Я использовал исходный шаблон отсюда: http://www.tjhouston.com/2012/03/merge-info-from-google-forms-to-pdf-document-and-send-via-email/

и внес все предложенные здесь изменения: Создание и отправка pdf через Google Forms на мой адрес электронной почты - не отправляется, отладка без помощи

Однако я не могу заставить его работать.Я был бы очень признателен за любой вклад, поскольку я нахожусь в своем уме.Странно, регистратор ничего не регистрирует.

var docTemplate = "documentIDhere"; // *** change template ID if new google doc is used***
var docName = "Recruiting Requirement Profile -";

    function onFormSubmit(e) {
     //Get information from form and set as variables
    Logger.log(e)

    var Q1 = e.values[2];
    var Q2 = e.values[3];
    var Q3 = e.values[4];

    // Get document template, copy it as a new temp doc, and save the Doc’s id
    var copyId = DriveApp.getFileById(docTemplate).makeCopy(docName).getId();
    var copyDoc = DocumentApp.openById(copyId);
    var copyBody = copyDoc.getBody();

    copyBody.replaceText('keyQ1', Q1);
    copyBody.replaceText('keyQ2', Q2);
    copyBody.replaceText('keyQ3', Q3);

    copyDoc.saveAndClose();

    var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");

    var subject = DocName+Q3+"-"+Q1;
    var body = "Here is your "+docName+Q3+"-"+Q1;
      MailApp.sendEmail("name@name.com", subject, body, {htmlBody: body, attachments: pdf});

    // Delete temp file
    DriveApp.getFileById(copyId).setTrashed(true);
    }

1 Ответ

0 голосов
/ 22 января 2019

Итак, правильный код можно найти ниже. Важно запустить функцию в качестве триггера. Для этого выполните следующие действия:

  1. В редакторе сценариев выберите «Правка»> «Триггеры текущего проекта».
  2. Нажмите на ссылку с надписью: триггеры не настроены. Нажмите здесь, чтобы добавить один Теперь.
  3. В разделе «Выполнить» выберите название функции, которую вы хотите вызвать.
  4. В разделе «События» выберите «Время-управляемый» или «Приложение Google», которое Сценарий привязан к (из таблицы). Выберите и настройте тип триггера, который вы хотите создать (при открытом триггере).
  5. Нажмите Сохранить.

Вот код:

var docTemplate = "documentIDhere"; // *** change template ID if new google doc is used***
var docName = "Recruiting Requirement Profile -";

    function onFormSubmit(e) {
     //Get information from form and set as variables
    Logger.log(e)

    var Q1 = e.values[1];
    var Q2 = e.values[2];
    var Q3 = e.values[3];

    // Get document template, copy it as a new temp doc, and save the Doc’s id
    var copyId = DriveApp.getFileById(docTemplate).makeCopy(docName).getId();
    var copyDoc = DocumentApp.openById(copyId);
    var copyBody = copyDoc.getBody();

    copyBody.replaceText('keyQ1', Q1);
    copyBody.replaceText('keyQ2', Q2);
    copyBody.replaceText('keyQ3', Q3);

    copyDoc.saveAndClose();

    var pdf = DriveApp.getFileById(copyId).getAs("application/pdf");

    var subject = DocName+Q3+"-"+Q1;
    var body = "Here is your "+docName+Q3+"-"+Q1;
      MailApp.sendEmail("name@name.com", subject, body, {htmlBody: body, attachments: pdf});

    // Delete temp file
    DriveApp.getFileById(copyId).setTrashed(true);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...