У меня есть электронная таблица, которую люди заполняют, а затем нажимают кнопку отправки. Эта кнопка создает PDF и отправляет эти данные по электронной почте. Часть этих данных должна быть скомпилирована в другую электронную таблицу каждый раз, когда кто-то отправляет свои данные.
У меня есть код, который может скопировать диапазон и вставить его в электронную таблицу.
function CopyDataToNewFile() {
var sss = SpreadsheetApp.openById('abcd1234'); // sss = source spreadsheet
var ss = sss.getSheetByName('Timesheet'); // ss = source sheet
//Get full range of data
var SRange = ss.getRange("A10:L22");
//get A1 notation identifying the range
var A1Range = SRange.getA1Notation();
//get the data values in range
var SData = SRange.getValues();
var tss = SpreadsheetApp.openById('abcd1234'); // tss = target spreadsheet
var ts = tss.getSheetByName('Info'); // ts = target sheet
var TRange = ts.getRange("A1:L13");
var T1Range = TRange.getA1Notation();
//set the target range to the values of the source data
ts.getRange(T1Range).setValues(SData);
}
У меня две проблемы с этим кодом:
- Я не могу выбрать конкретные ячейки данных , мне нужно выбрать J6, но также и всю 11-ю строку. Бонусом будет, если он увидит значение, скажем, A14, то он скопирует весь 14-й ряд. Но если в A14 ничего нет, он не будет копировать эти данные.
- Данные перезаписываются каждый раз при отправке данных , мне нужно, чтобы каждое новое добавление данных отображалось под последним.
Я искал решение этой проблемы в течение нескольких часов, и я не достаточно разбираюсь в Javascript, чтобы написать что-нибудь нестандартное. Спасибо!