#javascript #google-apps-script #google-sheets
Вопрос:
У меня есть этот небольшой код для вставки данных из формы на определенный лист.
function grabarEnSheets(e) {
//Conectarse con sheets
const libro=SpreadsheetApp.openById("SheetID")
const hoja=libro.getSheetByName("Patrol-Logs")
//Traer respuestas
const respuestaEnviada=e.response;
const respuestas=respuestaEnviada.getItemResponses();
const Nombre = respuestas[0].getResponse();
const Dia = respuestas[1].getResponse();
const Tiempo = respuestas[2].getResponse();
const Evidencia = respuestas[3].getResponse();
const Traje = respuestas[4].getResponse();
//Campos nuevos
var fecha=new Date();
//Guardar respuestas en sheets
hoja.appendRow([fecha,Nombre,Tiempo,Dia,Evidencia,Traje])
}
function darPermisos(){
SpreadsheetApp.openById("sheetID")
FormApp.getActiveForm();
}
И в приложении добавляются данные в нижней части листа.
Итак, мне нужно добавить все вводимые данные из формы и пропустить первую и вторую таблицы.
Комментарии:
1. Могу я спросить вас о деталях вашей текущей проблемы?
2. Я не знаю, как сделать приложение, чтобы начать добавлять данные в третий файл, а не в нижний.
3. Спасибо, что ответили. Судя по вашему ответу, я подумал, что вы хотите добавить строку данных на 3-ю вкладку. Для этого я предложил в качестве ответа пункт об изменении. Не могли бы вы, пожалуйста, подтвердить это? Если я неправильно понял ваш вопрос и это был не тот результат, которого вы ожидали, я приношу свои извинения.
4. Возможно, мой ответ не подходит, я предлагаю, чтобы было лучше не изменять лист отправки формы, создать другой лист, отсортировать необработанные данные по desc
5. Вы можете сделать это, если добавите сортировку по
fecha
полю после добавления данных на листhoja.getRange('A3:F').sort({column: 1, ascending: false})
или замените свойhoja.appendRow
hoja.insertRowAfter(2); hoja.getRange('A3:F3').setValues([[fecha,Nombre,Tiempo,Dia,Evidencia,Traje]])
код на
Ответ №1:
Из вашего следующего ответа в комментарии,
Я не знаю, как сделать приложение, чтобы начать добавлять данные в третий файл, а не в нижний.
Я подумал, что вы, возможно, хотели бы добавить строку данных на 3-ю вкладку в электронной таблице Google. Если я правильно понимаю, как насчет следующей модификации?
От:
hoja.appendRow([fecha,Nombre,Tiempo,Dia,Evidencia,Traje])
Для:
libro.getSheets()[2].appendRow([fecha,Nombre,Tiempo,Dia,Evidencia,Traje]);
libro.getSheets()[2]
означает 3-ю вкладку активной электронной таблицы.- Если вы хотите использовать
appendRow
для определенного листа, вы также можете использовать следующий сценарий, используя имя листа.libro.getSheetByName("###SheetName###").appendRow([fecha,Nombre,Tiempo,Dia,Evidencia,Traje]);
Ссылка:
Комментарии:
1. Это как раз то, что мне было нужно. Большое спасибо.