Добавление отформатированного текста в Google Doc - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть Google Sheet с формами ответов. Я создал некоторый код, чтобы при каждом заполнении формы результаты заполнялись в Google Doc. Это отлично работает.

Однако я также хочу добавить текст в Google Doc, который я использую:

function myFunction(e) {
  var doc = DocumentApp.create('File');
  var text = 'insert text here';
  body.appendParagraph(text);
  doc.saveAndClose();
}

Однако этот текст добавляется только как обычный текст, и я бы хотел отформатировать этот текст . В частности, я хотел бы добавить текст, чтобы он был выделен жирным шрифтом, подчеркнут и выровнен по центру в теле документа.

Как мне это сделать?

После некоторого поиска в Интернете и ТАКОГО поиска я попытался добавить html (например, <b> </b>) и попытался text.setBold(true). Эти подходы не сработали.

Я признаю, что я очень мало знаю о кодировании в редакторе Google Script, поэтому я не совсем уверен, как это сделать. Мне повезло, что я получил все ответы в форме, чтобы заполнить именованный файл Google Doc!

1 Ответ

2 голосов
/ 06 апреля 2019

Вот фрагмент документа, который я недавно создал:

    var nameStyle={};
    nameStyle[DocumentApp.Attribute.FONT_SIZE]=8;
    nameStyle[DocumentApp.Attribute.BOLD]=true;
    nameStyle[DocumentApp.Attribute.FOREGROUND_COLOR]='#000000';
    var valStyle={};
    valStyle[DocumentApp.Attribute.FONT_SIZE]=12;
    valStyle[DocumentApp.Attribute.BOLD]=false;
    valStyle[DocumentApp.Attribute.FOREGROUND_COLOR]='#cc0000';
    body.appendParagraph('Basic Project Data').setAttributes(hdg1Style);
    var p1=body.appendParagraph(Utilities.formatString('%s: ','PID')).setAttributes(nameStyle);
    var p2=body.appendParagraph(Utilities.formatString('%s',selObj.pid)).setAttributes(valStyle);
    p2.merge();
    for(var i=0;i<basicDataA.length;i++){
      var par1=body.appendParagraph(Utilities.formatString('%s: ',basicDataA[i][0])).setAttributes(nameStyle);
      var par2=body.appendParagraph(Utilities.formatString('%s',basicDataA[i][1])).setAttributes(valStyle);
      par2.merge();
    }

Обратите внимание, сначала appendParagraph, а затем setAttributes.

...