使用脚本在特定列中格式化单词 一些背景:步骤:参考:

问题描述

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

说明:

我使用 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);

效果很好,在工作表中看起来像

enter image description here

现在我尝试格式化单词“Reason”和单词“Projects”,我想将其格式化为粗体,如果可能的话,使其比其他单词大一点。

预先感谢您的帮助

您好 乔纳斯

解决方法

您的目标:

  • 获取单元格的文本内容并设置其中的一些单词的格式以使其加粗。

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

  • 如何构建和设置范围的 RichTextValue?

一些背景:

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

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

步骤:

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

参考:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...