Namokonov

RowFromFormToSheet

Mar 21st, 2021 (edited)
915
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function myFunction() {
  2.   //Определяем активную форму, берём все ответы, берём последний ответ и берём все его элементы
  3.   const form = FormApp.getActiveForm();
  4.   const formResponses = form.getResponses();
  5.   const lastResponse = formResponses.slice(-1)[0];
  6.   const lastResponseItems = lastResponse.getItemResponses();
  7.  
  8.   //С помощью функции extractor достаём из ответа формы два поля по названию
  9.   const name = extractor(lastResponseItems, 'Ваше имя');
  10.   const city = extractor(lastResponseItems, 'Город проживания');
  11.  
  12.   //Определяем время заполнения формы и определяем время заполнения + 1 сутки
  13.   const timestamp = lastResponse.getTimestamp(); //timestamp
  14.   const tsPlusDay = new Date(timestamp.getTime() + 60000 * 60 * 24) //отнимаем от ts сутки
  15.  
  16.   //Определяем Таблицу и лист в ней
  17.   const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1TJfA_6ydVej9xumgF60KRRxplCEcGzQHxq52FSGaEe0/edit#gid=0');
  18.   const sh = ss.getSheetByName('Лист1');
  19.  
  20.   //Отправляем строку с нашим ответом, к которому мы что-то добавили
  21.   sh.appendRow([name, city, 'какой-то еще текст', timestamp, tsPlusDay]);
  22. }
  23.  
  24. //Функция. Передаём в неё заполненную форму и название вопроса, а она вернёт нам ответ
  25. function extractor(arr, name) {
  26.   for (x in arr) {
  27.     const item = arr[x];
  28.     if (item.getItem().getTitle() == name) {
  29.       return item.getResponse();
  30.     }
  31.   }
  32. }
Add Comment
Please, Sign In to add comment