*******我想通了。現在編輯代碼,它效果很好!感謝您的反饋*****谷歌腳本日期的差異,並追加行到單獨的標籤
即時新手編碼器,我有一個谷歌表與借款人信息。第一列有收到信息的日期。腳本即時編寫需要能夠判斷信息是在30天,45天,30-60天,60-90天和90天以上的時間內收到的,然後將該行信息附加到Google表單文檔中的相應標籤。這是我迄今爲止,但它不起作用。
function myFunction() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1zQHmusx0pcHz4EPYcdmrLeJarWI7LFw5fCVfYDsTL_k/edit#gid=0");
var headSS = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1pnXax3qv2ALswaLshUz6nXobV9e0W0qOOo_0n16r76Y/edit#gid=0");
var headCopy = headSS.getSheets()[0];
ss.setActiveSheet(ss.getSheets()[0]);
var headRows = headCopy.getDataRange().getValues();
var headRow = headRows[0];
for(var p = 1; p < 6; p++) {
ss.setActiveSheet(ss.getSheets()[p]);
ss.getDataRange().clear();
ss.appendRow(headRow);
}
ss.setActiveSheet(ss.getSheets()[0]);
var dataRange = ss.getDataRange();
var todayDate = new Date();
var dateConv = 1000*60*60*24;
var sheet = ss.getSheets()[0];
var sheet30 = ss.getSheetByName('30day');
var sheet45 = ss.getSheetByName('45day');
var sheet3060 = ss.getSheetByName('30-60');
var sheet6090 = ss.getSheetByName('60-90');
var sheet90 = ss.getSheetByName('90+');
for (var i = 0; i < dataRange.getNumRows(); i++){
var range = sheet.getRange(i+1, 1);
var loanDate = range.getValue();
var lDate = Date(range);
var msBetweenDates = todayDate - loanDate;
var dateDiff = msBetweenDates/dateConv;
var spreadSheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1zQHmusx0pcHz4EPYcdmrLeJarWI7LFw5fCVfYDsTL_k/edit#gid=0');
var sheetToCopy = spreadSheet.getSheets()[0];
ss.setActiveSheet(ss.getSheets()[0])
var rows = sheetToCopy.getDataRange().getValues();
var row = rows[i];
if (dateDiff < 31.0){
sheet30.appendRow(row);
}
if (dateDiff < 46.0){
sheet45.appendRow(row);
}
if (dateDiff > 30.0 && dateDiff < 61.0){
sheet3060.appendRow(row);
}
if (dateDiff > 60.0 && dateDiff < 91.0){
sheet6090.appendRow(row);
}
if (dateDiff > 89.0){
sheet90.appendRow(row);
}
}
}
這與Java有什麼關係? – shmosel