gpt4 book ai didi

google-apps-script - 将多种字体颜色应用于单个 Google 表格单元格中的文本

转载 作者:行者123 更新时间:2023-12-03 23:08:27 25 4
gpt4 key购买 nike

我正在尝试使用 Google Apps Script 中的函数将单元格格式化为具有多种字体颜色。我找不到任何关于它的文档。另外,使用 getFontColor()不会返回任何有用的东西。

有没有办法以编程方式重现此功能

enter image description here

用户可以通过 Google Sheets Web UI 使用它吗?

最佳答案

自 2018 年 7 月起,Apps-Script 支持更改单个文本颜色和其他字体相关样式。 SpreadsheetApp增加了两个方法. newTextStyle()newRichTextValue() .以下应用程序脚本更改了 A1 中的此类字体样式。为获得最佳效果,请使用较长的字符串(30 个字符或更多)。

function rainbow(){
var rng = SpreadsheetApp.getActiveSheet().getRange("A1");
var val = rng.getValue().toString();
var len = val.length; // length of string in A1
var rich = SpreadsheetApp.newRichTextValue(); //new RichText
rich.setText(val); //Set Text value in A1 to RichText as base
for (var i=0;i<len;i++){ //Loop through each character
var style = SpreadsheetApp.newTextStyle(); // Create a new text style for each character
var red= ("0"+Math.round((1/len)*(i)*255).toString(16)).substr(-2,2); //📈
var green= ("0"+Math.round((1/len)*Math.min(i*2,len-Math.abs(i*2-len))*255).toString(16)).substr(-2,2); //📈📉
var blue= ("0"+Math.round((1/len)*(len-i)*255).toString(16)).substr(-2,2);//📉
style.setForegroundColor("#"+red+green+blue); // hexcode
style.setFontSize(Math.max(Math.abs(len/2-i),8)); //Use a lengthy string
var buildStyle = style.build();
rich.setTextStyle(i,i+1,buildStyle); // set this text style to the current character and save it to Rich text
}
var format = rich.build()
rng.setRichTextValue(format); //Set the final RichTextValue to A1
}

文档尚未发布。方法可能会发生变化
引用:
  • RichTextValue
  • TextStyle
  • 关于google-apps-script - 将多种字体颜色应用于单个 Google 表格单元格中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49287090/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com