Слияние писем с текстовыми полями - PullRequest
1 голос
/ 11 октября 2019

Итак, у меня есть простой РАБОЧИЙ сценарий почтового слияния.

Я хотел бы добавить текстовые поля в файл документа doctemplate. Которые берут выходные элементы из функции 'createMailMerge' и вводят их в текстовые поля.

Я понятия не имею, как это сделать.

Кстати, это не мой код, ссылка наYouTube видео: https://www.youtube.com/watch?v=QNPPEB64QbI&t=1616s

function myFunction() {
  var doctemplateId = "1ndllkTur5tZgLUw5dO-UTh5VVOVWEN8I5JkZeJEDKEU";
  var docFinalId = "1xQlmVtLDBI7SmcmlF9axmnWbnNNMAk6tOJTuYqslCsE";
  var wsId = "16F4ubVJ8Hlj5a3euvL1U8vxPbCV7FWl4w-4y3GmRVSo";

  var doctemplate = DocumentApp.openById(doctemplateId);
  var docFinal = DocumentApp.openById(docFinalId);
  var ws = SpreadsheetApp.openById(wsId).getSheetByName("data1");

  var data = ws.getRange(2, 1, ws.getLastRow() - 1, 7).getValues();
  var templateParagraphs = doctemplate.getBody().getParagraphs();

  docFinal.getBody().clear();
  data.forEach(function(r){
    createMailMerge(r[0], r[1], r[2],r[3], r[4], r[5], r[6], templateParagraphs, docFinal);    
  });  
}

function createMailMerge(first, last, city, state,street, apt, zip, templateParagraphs, docFinal) {
  templateParagraphs.forEach(function(p) {
    docFinal.getBody().appendParagraph(
      p
      .copy()
      .replaceText("{first}", first)
      .replaceText("{last}", last)
      .replaceText("{city}", city)
      .replaceText("{state}", state)
      .replaceText("{street}", street)
      .replaceText("{apt}", apt)
      .replaceText("{zip}", zip)
      );
  });
}

1 Ответ

1 голос
/ 11 октября 2019

Ответ:

К сожалению, этого сделать нельзя - в Google Apps Script нет методов, позволяющих создавать текстовые поля в файле документа.

Объяснение:

В Документах Google текстовые поля - это на самом деле InlineDrawing объекты, содержащие текст - в Графическом интерфейсе вы можете создать их, следуя Insert > Drawing > + New, а затем щелкнув значок Text box впанель инструментов. Как вы можете видеть в документации по скриптам приложений для Google Документов здесь , нет способа создать, только один для копирования существующих объектов чертежа.

Запрос функции:

С другой стороны, Google знает об этом! Как вы можете видеть на их трекере проблем здесь и здесь , запрос на создание и изменение чертежей уже сделан. Этим запросам на функцию можно присвоить звездочку (☆) в левом верхнем углу, чтобы Google узнал, что больше людей желают этого запроса.

Ссылки:

...