Приложение к сценарию вверху

#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. Это как раз то, что мне было нужно. Большое спасибо.