2017-08-04 118 views
1

我有一个脚本,当我在第17列(文件关闭的日期)输入一个值时,它将复制一行到另一个表格中。复制Google表格脚本格式

我不知道为什么,但在复制之前,改变格式和日期出现在数字格式

例如:04/08/2017 =>42951

上可能是什么问题,你知道吗?

这里是我的脚本:

function onEdit(r) { 

    var sheet = r.source.getActiveSheet(); 
    if(sheet.getName()!="Remboursements"){return} 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

    var source_sheet = ss.getSheetByName("Remboursements"); 
    var target_sheet = ss.getSheetByName("Remboursements traités"); 

    var range1 = r.range; 
    var columnOfCellEdited = range1.getColumn(); 

    if (columnOfCellEdited === 17){ 

     var source_range = source_sheet.getRange("A"+ range1.getRow()+":Q"+ range1.getRow()); 

     var last_row = target_sheet.getLastRow(); 

     target_sheet.insertRowAfter(last_row); 

     var target_range = target_sheet.getRange("A"+(last_row+1)+":Q"+(last_row+1)); 

     source_range.copyTo(target_range); 
     source_sheet.deleteRow(range1.getRow()) 
    } 
} 
+0

也许你只是需要格式化target_sheet的该列。 – Cooper

回答

0

这里的另一种方式做到这一点:

function onEdit(r) { 
    if(r.source.getActiveSheet().getName()!="Remboursements"){return} 
    var source_sheet=r.source.getSheetByName("Remboursements"); 
    var target_sheet=r.source.getSheetByName("Remboursements traités"); 
    if (r.range.getColumn()==17) 
    { 
     var source_range=source_sheet.getRange("A"+ r.range.getRow() +":Q"+ r.range.getRow()); 
     var values=source_range.getValues(); 
     target_sheet.appendRow(values); 
     source_sheet.deleteRow(r.range.getRow()) 
    } 
} 
+0

确实,好多了!根据格式化日期,它没有工作,但我发现了问题。我正在使用改变“。”的应用程序。成一个“,”,我解除了它,它接缝工作。非常感谢您的回答! –