J'ai donc un script de fusion de courrier simple et FONCTIONNANT ici.

Je voudrais introduire des zones de texte dans le fichier doc google 'doctemplate'. Qui prennent les éléments de sortie de la fonction 'createMailMerge' et les saisissent dans les zones de texte.

Je n'ai aucune idée comment faire ça.

D'ailleurs ce n'est pas mon code, lien vers la vidéo 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
marzaann 11 oct. 2019 à 05:03

1 réponse

Meilleure réponse

Répondre:

Malheureusement, cela ne peut pas être fait - Google Apps Script ne dispose pas de méthodes vous permettant de créer des zones de texte dans un fichier de document.

Explication:

Dans Google Docs, les zones de texte sont en fait des objets InlineDrawing qui contiennent du texte - dans l'interface graphique, vous pouvez les créer en suivant Insert > Drawing > + New, puis en cliquant sur l'icône Text box dans la barre d'outils. Comme vous pouvez le voir dans la documentation Apps Script pour Google Docs ici, il n'y a pas de méthode pour créer, une seule pour copier des objets de dessin existants.

Demande de fonctionnalité:

Du côté positif, Google le sait ! Comme vous pouvez le voir sur leur Issue Tracker ici et ici, une demande de fonctionnalité pour créer et modifier des dessins a déjà été effectuée. Vous pouvez attribuer une étoile (☆) à ces demandes de fonctionnalités en haut à gauche pour informer Google que davantage de personnes souhaitent cette demande.

Les références:

0
Rafa Guillermo 11 oct. 2019 à 11:46