我自己缺乏经验的受害者——我需要一个功能:
我从昨天开始就一直在阅读帖子,并将类似问题的内容用胶带粘在一起:
function onOpen(e) {
const ss = SpreadsheetApp.getActive();
ss.getSheets().forEach(sh => {
if(sh.getRange("E2").isBlank()) {
sh.setTabColor("#00ff00");//green
} else {
sh.setTabColor("#ff8000");//orange
}
});
}
它可以工作,但它肯定会做一些对于我的目的来说不需要的事情,我只是缺乏知道如何正确修改它的某些部分的经验。
isBlank
来搜索特定短语吗? (isBlank
有效,但我觉得更好的实践解决方案是让它关闭一个值)forEach
参数)很抱歉提出这个问题,并非常感谢任何可以提供帮助的人——我确信这是一组简单的论点,但我距离程序员最远了! \o/
onOpen()
检查工作表上的特定单元格并为其添加阴影可以做你想做的事:
- 仅在我指定的工作表上运行
- 只要打开工作表就运行
- 检查单元格的值并根据单元格的值使特定选项卡的颜色变暗
这是代码:
function onOpen() {
var ss = SpreadsheetApp.getActive();
ss.getSheets().forEach(sh => {
var sn = sh.getSheetName();
var vl = sh.getRange("E2").getValue();
if (sn == "Sheet1") {
if (vl == "Test") {
sh.getRange("E2").setBackground("green")
} else {
sh.getRange("E2").setBackground("orange")
}
}
});
}
打开工作表时,脚本会检查
Sheet 1
的 E2
单元格的值是否为 Test
,如果为 true,则将背景设置为绿色。如果没有,它会将其设置为橙色。
这是另一种编写代码的方法:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("Sheet1");
var rg = sh.getRange("E2")
var vl = rg.getValue();
vl == "Test" ? rg.setBackground("Green") : rg.setBackground("Orange")
}
如果文本匹配:
如果文本不匹配: