首页 > 解决方案 > 将文档中的占位符文本替换为工作表单元格中的文本块作为项目符号列表

问题描述

我创建了一个模板 Google Doc,其中包含需要用 Google 表格中的真实数据替换的数据。在大多数情况下,一切正常,但在某些情况下,我希望能够将工作表中单元格的文本块格式化为文档中的项目符号列表。

由于被替换的文本(例如“{whatYouDoResponsibilities}”)在模板文档中被格式化为一个项目符号列表,它最终只是一个包含单元格全部内容的项目符号点,而不是几个项目符号点。

因此,如果我要替换的单元格内容“{whatYouDoResponsibilities}”如下所示:

布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉
布拉布拉布
拉布拉布拉

它最终在文档中看起来像这样:

而不是这个,因为我希望它:

有没有办法解决这个问题?

预先感谢您的帮助!

这是代码:

function createBulkDocs() {

  const docFile = DriveApp.getFileById("");
  const tempFolder = DriveApp.getFolderById("");
  const currentSheet = SpreadsheetApp.getActive().getSheetByName("Job Ad Generator");
  
  var file_iterator = tempFolder.getFiles();
  
  while (file_iterator.hasNext()) {
    var file = file_iterator.next();
    Logger.log('Deleting file "%s"',
                 file.getName());
 
    Drive.Files.remove(file.getId())
  }

  const data = currentSheet.getRange(2, 1,currentSheet.getLastRow()-1,14).getDisplayValues();
  
  let errors =[];
  
  data.forEach(row => {
      
  var gradeStatus = row[13];             
        if(gradeStatus == ""){ }
  else {
    createDocs(row[3], row[4], row[4], row[7], row[8],row[9] + row[8], row[3] + " " + "Grade" + " " + row[6], row[11], row[12], docFile, tempFolder, row[13]); 
  }
  
  });
  
}

function createDocs(jobTitle, craftNameUpp, craftName, whoYouWorkWith, whatYouDoSummary,whatYouDoResponsibilities, docName, whoYouAreSummary,whoYouAreSpecifics, docFile, tempFolder, seniority) {
  
  const tempFile = docFile.makeCopy(tempFolder);
  const tempDocFile = DocumentApp.openById(tempFile.getId())
  const body = tempDocFile.getBody();

  body.replaceText("{JOBTITLE}", jobTitle);
  body.replaceText("{CRAFTNAME}", craftNameUpp);
  body.replaceText("{craftname}", craftName);
  body.replaceText("{whoYouWorkWith}", whoYouWorkWith);
  body.replaceText("{whatYouDoSummary}", whatYouDoSummary);
  body.replaceText("{whatYouDoResponsibilities}", whatYouDoResponsibilities);
  body.replaceText("{whoYouAreSummary}", whoYouAreSummary);
  body.replaceText("{whoYouAreSpecifics}", whoYouAreSpecifics);
  body.replaceText("{seniority}", seniority);
  
  tempDocFile.setName(docName);
  tempDocFile.saveAndClose();
 
}

标签: google-apps-scriptgoogle-sheetsreplacegoogle-docs

解决方案


推荐阅读