2016-07-12 1 views
0

필자는 시트의 행을 반복하여 열 F에있는 날짜를 기반으로 특정 행을 삭제하려고합니다. 28 행에 구문 오류가 표시됩니다. 코드가 나에게 잘 보이기 때문에 이것이 무엇을 유발하는지 모르겠습니다. 어떤 조언을 주시면 감사하겠습니다.날짜를 기준으로 스프레드 시트의 행을 삭제하려고합니다

function dateReduce() { 
    var ss = SpreadsheetApp.openById('1yl599Ff7d1aaSTKpHAeHW5wswiDOzNegrKxS1Z1SquY'); 
    var sheet = ss.getSheetByName("worksheet"); 
    var today = new Date(); 
    var dd = today.getDate(); 
    var mm = today.getMonth()+1; 
    var yyyy = today.getFullYear(); 
    var range = sheet.getRange(2, 6, 1374); 
    var values = range.getValues(); // getValues() results in a javascript array as opposed to a google script array 
    var numRows = range.getNumRows(); 
    var endDate; 
    for (var i = 1; i <= numRows; i++) { 
    endDate = new Date(values[i][5]); 
    if (yyyy > endDate.getFullYear()) { 
     sheet.deleteRow(i); 
    }; 
    else if (yyyy === endDate.getFullYear()) { 
     if (mm > (endDate.getMonth()+1)) { 
     sheet.deleteRow(i); 
     }; 
    }; 
    else if ((mm === endDate.getMonth()+1) && (yyyy == endDate.getFullYear())) { 
     if (dd > endDate.getDate()) { 
      sheet.deleteRow(i); 
     }; 
     }; 
    }; 
}; 

답변

0

모든 끝 중괄호 ("}") 뒤에 세미콜론을 제거해야합니다. 할당 작업이 포함되어 있지 않으면 중괄호 뒤에 세미콜론을 넣을 필요가 없습니다.

function dateReduce() { 
    var ss = SpreadsheetApp.openById('1yl599Ff7d1aaSTKpHAeHW5wswiDOzNegrKxS1Z1SquY'); 
    var sheet = ss.getSheetByName("worksheet"); 
    var today = new Date(); 
    var dd = today.getDate(); 
    var mm = today.getMonth() + 1; 
    var yyyy = today.getFullYear(); 
    var range = sheet.getRange(2, 6, 1374); 
    var values = range.getValues(); // getValues() results in a javascript array as opposed to a google script array 
    var numRows = range.getNumRows(); 
    var endDate; 
    for (var i = 1; i <= numRows; i++) { 
    endDate = new Date(values[i][5]); 
    if (yyyy > endDate.getFullYear()) { 
     sheet.deleteRow(i); 
    } else if (yyyy === endDate.getFullYear()) { 
     if (mm > (endDate.getMonth() + 1)) { 
     sheet.deleteRow(i); 
     } 
    } else if ((mm === endDate.getMonth() + 1) && (yyyy == endDate.getFullYear())) { 
     if (dd > endDate.getDate()) { 
     sheet.deleteRow(i); 
     } 
    } 
    } 
} 
+0

고마워요! 이제 시작되었습니다! – Fruitspunchsamurai

관련 문제