1

在这里有两个脚本可以根据换行来更改字体颜色,它们都可以正常工作。- 第一个可以自定义触发, - 第二个是 onEdit。

onEdit 有我的偏好,因为它可以立即使事情自动化,但是当单元格的值通过 yes 或 no 时,onEdit 不会看到变化。

那么是否可以让 onEdit 触发 fontstylechanges?

function colorlinethrough() {
    var ss = SpreadsheetApp.getActiveSpreadsheet(); // Get spreadsheet
    var sheet = ss.getSheets()[0]; // Get first Sheet
    var range = sheet.getDataRange(); // Get cells
    var data = range.getValues(); // Get the cell values

    for (var i in data) {
    var editrange = sheet.getRange(parseInt(i)+1,2);
        if (editrange.getFontLine() == "line-through") {
            editrange.setFontColor("#CCCCCC");
        }
        else {
            editrange.setFontColor("#000000");
        }
    }
};

function onEdit(e) {
    var ss = e.source; // Get spreadsheet
    var range = ss.getActiveRange();
    if (range.getFontLine() == "line-through") {
        range.setFontColor("#CCCCCC");
    }
    else {
        range.setFontColor("#000000");
    }
};

也把这个问题放在 g+ 社区https://plus.google.com/104787958270362345970/posts/GTdBoTZR3YF

4

1 回答 1

4

电子表格有一个onChange事件可能会在这里起到作用。onEdit是数据发生变化onChange的时间,也是电子表格 UI 本身发生变化的时间。试一试。

https://developers.google.com/apps-script/understanding_events

于 2013-10-07T13:35:16.463 回答