Добавление метки времени в скопированный столбец - PullRequest
0 голосов
/ 12 ноября 2018

Я использую этот скрипт, чтобы скопировать столбец из одного отчета и записать его в исторический журнал:

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 голосов
/ 14 ноября 2018

Это будет работать с методом 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);
}

Надеюсь, это поможет!

0 голосов
/ 12 ноября 2018

Вы можете использовать метод appendRow для добавления новой строки после завершения операции копирования.

sheetTo.appendRow([new Date()]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...