谷歌应用程序脚本条件格式问题



我一直在使用下面的代码,并试图将其颜色更改为#1b2020代码,并希望突出显示找到单词"的完整行;创伤">在"列"中;F";。

但它只是突出了来自Col";A";而不是突出显示整个行直到"strong>";A1:L"。

还请分享如何在应用条件格式时更改字体颜色。

非常感谢您的帮助。

function Formatting() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var LRows = sheet.getLastRow();
var rangeToHighlight = sheet.getRange("A1:L" + LRows);
var rule = SpreadsheetApp.newConditionalFormatRule()
.whenFormulaSatisfied('=INDIRECT("R[0]C[5]", FALSE)="Trauma"')
.setBackground("#1b1919")
.setFontColor("white") // or use hex equivalent #ffffff
.setRanges([rangeToHighlight])
.build();
var rules = sheet.getConditionalFormatRules();
rules.push(rule);
sheet.setConditionalFormatRules(rules);
}
function Formatting() {
const ss=SpreadsheetApp.getActive();
const sh=ss.getSheetByName('Sheet1');
const rg=sh.getRange(1,6,sh.getLastRow());//getting columnF only
const vA=rg.getValues();
const lc=sh.getLastColumn();
vA.forEach(function(r,i){
if(r[0]=='Trauma') {
sh.getRange(i+1,1,1,lc).setBackground('#1b2020').setFontColor('#ffffff');//they both return a range so chaining is available
}
});
}

我们可以使用setBackgroundsetFontColor,而不是使用条件格式。

function Formatting() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var data = sheet.getDataRange().getValues();
data.forEach(function (row, i){
if(row[5] == "Trauma") {
// L = 12th column
sheet.getRange(i + 1, 1, 1, 12).setBackground("#1b1919");
sheet.getRange(i + 1, 1, 1, 12).setFontColor("#ffffff");
}
});
}

最新更新