我正在使用此脚本从一个报告中复制一列,并将其记录在历史日志中:
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);
}
代码运行良好,可以完成我想要的操作,但是我想在复制信息的上方或下方为该列添加一个时间戳。
我尝试了几种不同的方法,但没有成功。我想这很简单,但是我已经太复杂了。
在此先感谢您的帮助!
答案 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);
}
希望这会有所帮助!。