如何解决似乎无法让任何 Google Scripts 代码对一个特定单词的所有出现进行加粗
我发现 RichTextValue 应该可以工作,但我不确定在此代码中的何处以及何时使用此代码
@get:PropertyName("hName")
@set:PropertyName("hName")
var hName:String,
我收到一个非法参数错误,我不知道我哪里出错了。我不是开发人员,但在 VBA 方面做得很好。不幸的是,我真的在与 Google Scripts 作斗争。任何帮助将不胜感激,因为这是我唯一无法做对的事情。谢谢!
解决方法
让我们考虑以下代码:
function testBold() {
var boldStyle = SpreadsheetApp.newTextStyle().setBold(true).build();
var cells = SpreadsheetApp.getActive().getRange('Лист1!A1:A100');
var values = cells.getValues(); // initial values
var richValues = values.map( // become rich values
function(v) {
var richBuilder = SpreadsheetApp.newRichTextValue().setText(v[0]);
if (v[0].length && v[0].length > 16) richBuilder = richBuilder.setTextStyle(2,16,boldStyle);
return [richBuilder.build()];
}
);
cells.setRichTextValues(richValues);
}
首先,我们避免从每个单元格中依次读取数据,因为有更强大的方法可以一次读取范围数据。
此外,我们使用 JS map() 函数的强大功能为每个输入值数组元素获得所需的丰富样式。不记得在应用样式之前检查输入值是否具有字符串类型和足够的长度。
最后我们将丰富样式的数据写回到相同的工作表范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。