Advertisement
Namokonov

fromFormToSheet

Mar 18th, 2021
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function myFunction() {
  2.   var form = FormApp.getActiveForm();
  3.   var formResponses = form.getResponses();
  4.   var lastResponse = formResponses.slice(-1)[0];
  5.   var lastResponseItems = lastResponse.getItemResponses();
  6.  
  7.   const name = extractor(lastResponseItems, 'Ваше имя');
  8.  
  9.   // var name = lastResponseItems[0].getResponse(); //забираем имя из ответа формы (элементы в массивах начинаются с 0, 0 – перый элемент)
  10.   var city = lastResponseItems[1].getResponse(); //забираем город из ответа формы
  11.   var ttimestamp = lastResponse.getTimestamp(); //timestamp
  12.   var tsPlusDay = new Date(timestamp.getTime() + 60000 * 60 * 24) //отнимаем от ts сутки
  13.  
  14.   //определяем Таблицу и лист в ней
  15.   const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1TJfA_6ydVej9xumgF60KRRxplCEcGzQHxq52FSGaEe0/edit#gid=0');
  16.   const sh = ss.getSheetByName('Лист1');
  17.   const lr = getLastRow(sh.getRange("b:b").getValues(), 1);
  18.   const row = (lr + 1);
  19.  
  20.   //вставляем данные
  21.   sh.getRange("B" + row).setValue(timestamp); // timestamp
  22.   sh.getRange("D" + row).setValue(city); // city
  23.   sh.getRange("F" + row + ":H" + row).setValues([[name, 'Стажёр', tsPlusDay]]); // city
  24.  
  25. }
  26.  
  27. function extractor(arr, name) {
  28.   for (x in arr) {
  29.     const item = arr[x];
  30.     if (item.getItem().getTitle() == name) {
  31.       return item.getResponse();
  32.     }
  33.   }
  34. }
  35.  
  36. function getLastRow(data, column) {
  37.   return Math.max(...(data.map((g, i) => !g[column - 1] ? '' : ++i)));
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement