向复制的列添加时间戳

时间:2018-11-12 04:32:10

标签: google-apps-script timestamp

我正在使用此脚本从一个报告中复制一列,并将其记录在历史日志中:

function copyDailyreport() {

var sheetFrom = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MSM");

var sheetTo = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MSM Daily Totals");

var valuesToCopy = sheetFrom.getRange(4, 11, sheetFrom.getLastRow(), 1).getValues();

sheetTo.getRange(1,sheetTo.getLastColumn()+1,valuesToCopy.length,1).setValues(valuesToCopy);
}

代码运行良好,可以完成我想要的操作,但是我想在复制信息的上方或下方为该列添加一个时间戳。

我尝试了几种不同的方法,但没有成功。我想这很简单,但是我已经太复杂了。

在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

复制操作完成后,可以使用appendRow方法添加新行。

sheetTo.appendRow([new Date()]);

答案 1 :(得分:0)

这将与unshift方法一起使用,该方法会将时间戳记添加到列的开头

function copyDailyreport() {

var timeStamp=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM/dd/yyyy");

var now= new Date(), 
h= now.getHours(), 
m= now.getMinutes(), 
s= now.getSeconds(),
timeStamp=timeStamp+" "+h+":"+m+":"+s ;

var sheetFrom = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MSM");

var sheetTo = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MSM Daily Totals");

var valuesToCopy = sheetFrom.getRange(4, 11, sheetFrom.getLastRow(), 1).getValues();

valuesToCopy.unshift([timeStamp]);

sheetTo.getRange(1,sheetTo.getLastColumn()+1,valuesToCopy.length,1).setValues(valuesToCopy);
}

希望这会有所帮助!。