-1

有三個用戶(x1,x2,x3)用於更新他們的日常報告,用戶名在第2列。對於x1用戶,將整個行的背景顏色設置爲紅色,並相應地爲其他兩個用戶(藍色,綠色)設置背景顏色。Google電子表格 - 根據用戶設置行背景顏色

我希望錯誤是在獲取整行,我不知道如何解決,請幫助。

謝謝。

function onOpen() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var data = sheet.getDataRange().getValues(); 
    for (var i = 0; i < data.length; i++) { 
    if(data[i][1]=="X1") { 
    var headersRange = sheet.getRange(1, 1, 1, 7); 
     headersRange.setBackgroundColor(red); 
    } 
    else if(data[i][1]=="X2") { 
     var headersRange = sheet.getRange(1, 1, 1, 7); 
     headersRange.setBackgroundColor(blue); 
    }  
    else if(data[i][1]=="X3") { 
     var headersRange = sheet.getRange(1, 1, 1, 7); 
     headersRange.setBackgroundColor(green); 
    } 
    else { 
     var headersRange = sheet.getRange(1, 1, 1, 7); 
     headersRange.setBackgroundColor(white);  
    } 

    } 
} 
+0

那仁你好,我downvoted你問題因爲對我來說它沒有顯示任何研究工作。我希望這不會被誤解,但在我看來,你應該嘗試自己做這個工作而不是要求別人爲你做。 – Harold

+0

建議您查看Google應用程序腳本示例/文檔,然後更新問題。還要添加google-apps-script標籤。 – eddyparkinson

+0

哈羅德哈羅德,我做了我的研究,但我無法得到我所需要的。請不要輕易低估他人。謝謝。 – naren

回答

0

我認爲哈羅德的一點是,你沒有告訴你研究過什麼(例如,鏈接,你嘗試了一些堆棧溢出的解決方案,但他們並沒有爲你需要什麼樣的工作)。這對我來說是在代碼框外思考的好習慣,所以我做了一些事情。這裏是例如電子表格,代碼:https://docs.google.com/spreadsheet/ccc?key=0Amp9JhtmHqC8dE95U1dweXBMNjNhRmpQQURnZ1FoMFE#gid=0

不過,我會給你一個答案,希望你會做一些更多的研究,看看爲什麼它的工作原理:

function onOpen() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    //getRange starts on row 2, since I put column headers on row 1 
    var data = sheet.getRange(2,1,sheet.getLastRow(),7).getValues(); 
    //column headers are on row 1, data.length +1 offsets for header row 
    for (var i = 2; i < data.length+1; i++) { 
    switch (sheet.getRange(i,1,1,1).getValue()){ 
     case "X1": 
     sheet.getRange(i,1,1,7).setBackgroundColor('red') 
     break; 
     case "X2": 
     sheet.getRange(i,1,1,7).setBackgroundColor('blue') 
     break; 
     case "X3": 
     sheet.getRange(i,1,1,7).setBackgroundColor('green') 
     break; 
     default: 
     sheet.getRange(i,1,1,7).setBackgroundColor('white') 
     break; 
    } 
    } 
}