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

如何用Office Scripts设置Excel单元格内部分文本为粗体?

使用Office Scripts设置单元格内部分文本为粗体

在Office Scripts中,要实现类似VBA里设置单元格内部分文本格式的功能,需要借助富文本(RichText) API,而非直接操作整个单元格的字体格式。以下是对应你VBA代码功能的Office Scripts实现:

function main(workbook: ExcelScript.Workbook) {
  // 获取当前活动单元格
  const activeCell = workbook.getActiveCell();
  // 设置单元格文本内容
  activeCell.setValue("test test test test test");
  // 获取单元格的富文本对象
  const richText = activeCell.getRichText();

  // 对应VBA中第1-6个字符:设置为常规(非粗体)
  // 注意:Office Scripts的文本索引从0开始,所以起始位置是0,长度6
  richText.addFormat(0, 6, {
    font: {
      bold: false
    }
  });

  // 对应VBA中第7-13个字符:设置为粗体("Fett"是德语的粗体)
  // 起始位置6,长度7
  richText.addFormat(6, 7, {
    font: {
      bold: true
    }
  });

  // 对应VBA中第14-19个字符:设置为常规(非粗体)
  // 起始位置13,长度6
  richText.addFormat(13, 6, {
    font: {
      bold: false
    }
  });

  // 将修改后的富文本应用到单元格
  activeCell.setRichText(richText);
}

关键说明:

  • Office Scripts的文本索引从0开始,而VBA是从1开始,因此需要将VBA中的Start值减1作为脚本里的起始位置。
  • 通过Range.getRichText()获取富文本对象,使用RichText.addFormat(startIndex, length, format)方法给指定范围的文本设置格式。
  • 最后需要调用Range.setRichText(richText)将修改后的富文本应用回单元格。

内容的提问来源于stack exchange,提问作者Maksim Esau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 09:07:12