我收到了if语句的语法错误。如果有人能告诉我我做错了什么,那就太好了。
我正在尝试做的是在编辑某个单元格时将文本字体大小更改为14。但现在的问题是我只需要某些单元格为字体大小14.从A3开始的每一行应该是字体大小14.
所以: A3 - 字体大小14 A8 - 字体大小14 A13 - 字体大小14 A18 - 字体大小14 A23 - 字体大小14 A28 - 字体大小14 等等
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = e.range;
if (range.getA1Notation().substr(range.getA1Notation().length-1, range.getA1Notation().length)) == "3" || range.getA1Notation().substr(range.getA1Notation().length-1, range.getA1Notation().length)) == "8") {
var cell = sheet.getRange(range)
cell.setFontSize(14);
}
}
答案 0 :(得分:3)
你的超长条件可以减少到range.getRow() % 5 == 3
表面上的范围对象是按值而不是引用复制的,所以你不能只说e.range.setFontSize(14)
但它应该等于有效范围,除非你做得非常快。
它没有设置正确的字体大小的原因是你给它一个范围作为范围参数,它必须是索引或A1表示法。
简而言之,您可以将代码缩短为
function onEdit(e) {
if (e.range.getRow() % 5 == 3) {
SpreadsheetApp.getActiveRange().setFontSize(14);
}
}
或
function onEdit(e) {
if (e.range.getRow() % 5 == 3) {
SpreadsheetApp.getActiveSheet().getRange(e.range.getA1Notation()).setFontSize(14);
}
}
如果你想确定。