问题描述
我想在表单请求后将我的工作表中的两个单词格式化为粗体。听起来很简单,但我还没有找到解决方案。也许有人可以帮忙。
说明:
我使用 onformsubmit 函数将表单中的一些数据复制到概览表中。
var overview_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Overview");
var values = overview_sheet.getDatarange().getValues()[0];
var row = overview_sheet.getLastRow() + 1;
var cI = values.indexOf("I") + 1
var cRequesterInfo = values.indexOf("Request information") + 1;
var text = "Windows Login:\nLine Manager:\nDepartment:\nAccess Rights:";
var requesterinformation =
e.namedValues["Windows Login Name"] + "\n" +
getName(e.namedValues["Line Manager E-Mail Address"]) + "\n" +
e.namedValues["Org Code"] + "\n" +
e.namedValues["Access Rights"] + "\n" +
("") + "\n" +
("Reason:")
+ "\n" +
e.namedValues["Reason for Access"] + "\n" +
("") + "\n" +
("Projects:")
+ "\n" +
e.namedValues["Access to Project/s"];
overview_sheet.getRange(row,cI).setValue(text);
overview_sheet.getRange(row,cRequesterInfo).setValue(requesterinformation);
效果很好,在工作表中看起来像
现在我尝试格式化单词“Reason”和单词“Projects”,我想将其格式化为粗体,如果可能的话,使其比其他单词大一点。
预先感谢您的帮助
您好 乔纳斯
解决方法
您的目标:
- 获取单元格的文本内容并设置其中的一些单词的格式以使其加粗。
您想要在单元格中生成的字符串实际上是一个 RichTextValue
,因此您的目标可以重新定义为:
- 如何构建和设置范围的 RichTextValue?
一些背景:
什么是RichTextValue
?从文档中,我们有以下内容:
“用于表示单元格文本的风格化文本字符串。文本的子字符串可以具有不同的文本样式。”
步骤:
- 使用
RichTextValueBuilder
构建RichTextValue
- 通过将 TextStyles 设置为子字符串来格式化 RichTextValue。
- 将其设置为所需的范围