首页 > 解决方案 > 使用脚本格式化特定列中的单词

问题描述

我想在表单请求后将工作表中的两个单词格式化为粗体。听起来很容易,但我还没有找到解决方案。也许有人可以帮忙。

描述:

我使用 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”,我想将其格式化为粗体,如果可能的话,让它比其他单词大一点。

预先感谢您的帮助

问候乔纳斯

标签: google-apps-scriptformattingspreadsheetbold

解决方案


你的目标:

  • 获取单元格的文本内容并格式化其中的一些单词以使其变为粗体。

您想要在单元格中生成的字符串实际上是 a RichTextValue,因此您的目标可以重新定义为:

  • 如何构建和设置 Range 的 RichTextValue?

一些背景:

什么是RichTextValue? 从文档中,我们有以下内容:

“用于表示单元格文本的风格化文本字符串。文本的子字符串可以具有不同的文本样式。”

脚步:

  1. 建立RichTextValueRichTextValueBuilder
  2. 通过将TextStyles设置为子字符串来格式化 RichTextValue 。
  3. 将其设置为所需的范围

参考:


推荐阅读