Google Apps脚本onEdit和onOpen中的行着色?

时间:2013-04-02 13:37:26

标签: forms google-apps-script row spreadsheet

我创建了一个Google表单,用于将数据提交到Google电子表格。我试图根据特定列中的值为行代码着色 - 没问题。但是,我正在使用onEdit函数,当用户提交表单时,行不会更改颜色。只有当我编辑特定单元格时,行才会改变颜色,因此只有onEdit函数。是的,Google似乎没有在电子表格中看到表单提交为“编辑”,即使它在技术上是编辑。我试图复制并粘贴该函数并将其重命名为onOpen,但这也不起作用。我在这里错过了什么?我已经发布了以下代码,我非常感谢您能提供的任何帮助。另外,我是脚本的新手,所以请对我很轻松;)

// Color code rows based on the status of the ticket
function onEdit(e) {
 if (e) { 
    var ss = e.source.getActiveSheet();
    var r = e.source.getActiveRange(); 

    // If you want to be specific
    // do not work in first row
    // do not work in other sheets except "Sheet1"
    if (r.getRow() != 1 && ss.getName() == "Sheet1") {

        // E.g. status column is 6th (F)
        status = ss.getRange(r.getRow(), 6).getValue();

        // Specify the range with which You want to highlight
        // with some reading of API you can easily modify the range selection properties
        // (e.g. to automatically select all columns)
        rowRange = ss.getRange(r.getRow(),1,1,6);

        // This changes row color
        if (status == 'New') {
            rowRange.setBackgroundColor("#f26c4f");
        } else if (status == 'In Progress') {
            rowRange.setBackgroundColor("#fff568");
        } else if (status == 'Ordered') {
            rowRange.setBackgroundColor("#68baff");
        } else if (status == 'Completed') {
            rowRange.setBackgroundColor("#a2e7a5");  
        // DEFAULT
        } else if (status == '') { 
            rowRange.setBackgroundColor("#FFFFFF");
        }   
    }
 }
} 

1 个答案:

答案 0 :(得分:0)

“Google似乎没有在电子表格中看到表单提交为”编辑“,即使它在技术上是一个编辑”

这就是为什么有一个On form submit功能,请参阅documentation here,可从脚本编辑器ressources>获得。当前脚本触发器 enter image description here