You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script调用setRichTextValues设置混合格式富文本报错

报错原因

调用方法与传参不匹配:

  • setRichTextValues() 面向多单元格范围设计,要求传入二维数组格式的富文本值集合,规则与setValues()一致
  • 当前操作的sheet.getRange(1,3)为单个单元格,需调用无末尾s的setRichTextValue()方法,直接传入单个RichTextValue对象即可。

修正代码

只需修改最后一行赋值逻辑即可,完整可运行代码如下:

function formatCombi() {
  // 获取当前表格和工作表
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();

  // 获取两个单元格的纯文本值,拼接为合并文本
  var text1 = sheet.getRange(1,1).getValue();
  var text2 = sheet.getRange(1,2).getValue();
  var text3 = text1 + text2;
  var range = sheet.getRange(1,3);

  // 获取两个单元格的富文本对象
  var rtf1 = sheet.getRange(1,1).getRichTextValue();
  var rtf2 = sheet.getRange(1,2).getRichTextValue();

  // 计算两个文本和合并后文本的长度
  var length1 = text1.length;
  var length2 = text2.length;
  var length3 = length1 + length2;

  // 提取两个文本的格式属性
  var bold1 = rtf1.getTextStyle().isBold();
  var bold2 = rtf2.getTextStyle().isBold();
  var italic1 = rtf1.getTextStyle().isItalic();
  var italic2 = rtf2.getTextStyle().isItalic();
  var under1 = rtf1.getTextStyle().isUnderline();
  var under2 = rtf2.getTextStyle().isUnderline();
  var strike1 = rtf1.getTextStyle().isStrikethrough();
  var strike2 = rtf2.getTextStyle().isStrikethrough();
  var colour1 = rtf1.getTextStyle().getForegroundColor();
  var colour2 = rtf2.getTextStyle().getForegroundColor();

  // 为两段文本分别构建文本样式对象
  const style1 = SpreadsheetApp.newTextStyle()
      .setUnderline(under1)
      .setBold(bold1)
      .setItalic(italic1)
      .setForegroundColor(colour1)
      .build();
  const style2 = SpreadsheetApp.newTextStyle()
    .setUnderline(under2)
     .setBold(bold2)
     .setItalic(italic2)
     .setForegroundColor(colour2)
     .build();

  // 构建合并后的富文本对象,分别应用两段的样式
  var rtf3 = SpreadsheetApp.newRichTextValue()
  .setText(text3)
  .setTextStyle(0,length1,style1)
  .setTextStyle(length1,length3,style2)
  .build();

  // 修正:单个单元格使用setRichTextValue而非setRichTextValues
  range.setRichTextValue(rtf3);
}

你原本的富文本构建逻辑完全正确,RichTextBuilder的多格式设置能力可正常生效,仅为赋值方法调用错误导致的报错。

内容的提问来源于stack exchange,提问作者Digby Mason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:06:01