google-apps-script - 将文档中的占位符文本替换为工作表单元格中的文本块作为项目符号列表
问题描述
我创建了一个模板 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();
}
解决方案
推荐阅读
- optimization - 从一群人中建立一个团队,同时最大化团队中的总人数并遵守团队内总技能的限制
- wpf - SkiaSharp 可以在 WPF 应用程序中使用吗?
- xaml - Xamarin 在调试启动时崩溃:尝试调用虚拟方法
- angular - Angular Material SideNav - 隐藏在移动设备上的铁路模式
- c# - 在 Wix 安装期间 C# 自定义操作无法找到 appsettings.json 文件
- c# - 调用 InitializeComponent() 后 C# 自定义控件的属性未初始化?
- github - 如何为我的 Github 操作找到正确的入站规则以部署在我的 AWS EC2 服务器上?
- swift - 为什么我的 collada DAE 角色在 Xcode 上是绿色的?
- c# - Unity 3D:协程武器动画不会多次执行
- python - PIL 的 Image.fromarray 函数()让我很困惑