Как поделиться определенными полями формы Google с помощью скриптов Google?

Опубликовано: 15 Февраля, 2022

Google Forms - одна из наиболее часто используемых форм для проведения опроса, но иногда организатор опроса хочет поделиться с аудиторией живыми результатами форм Google. Это легко сделать с помощью скриптов Google. Как мы все знаем, данные, введенные пользователем в форме Google, хранятся непосредственно в таблице Google. Поэтому мы будем использовать gs (скрипт Google), язык программирования, предоставляемый Google, чтобы делать гораздо больше с их продуктами.

Для этого выполните следующие действия:

Шаг 1. Создайте форму Google и откройте связанный с ней лист Google. Вы можете найти лист Google, связанный с вашей формой Google, на главной странице листов Google или создать другую электронную таблицу для своих форм Google. Сделать так

  • Щелкните ответ.

  • Теперь нажмите кнопку электронной таблицы .

  • Наконец, нажмите на создать новую таблицу, как показано ниже:

Шаг 2. Теперь откройте таблицы Google.

  • Сначала щелкните Инструменты.

  • Теперь нажмите на редактор сценариев .

Шаг 3: После нажатия на скрипты откроется новое окно с именем файла по умолчанию code.gs. Здесь очистите все содержимое:

Шаг 4: После этого вставьте приведенный ниже код в code.gs и запустите функцию извлечения . После выполнения функции извлечения появится всплывающее окно для просмотра разрешений, нажмите на разрешения для просмотра, после этого выберите свою учетную запись Google, с помощью которой создается форма, а затем нажмите ` ` Дополнительно '', перейдите к имени вашего проекта и затем разрешите скрипту читать листы Google . После этого снова нажмите на бег.

 function extract () {
  var tmp = SpreadsheetApp.getActiveSheet (). getDataRange (). getValues ();
  var html = "";
  html + = "<таблица>"
  for (var i = 0; i <tmp.length; i ++) {
    html + = "<tr>"
    for (var z = 0; z <tmp [i] .length; z ++) {
      html + = "<th>"
      HTML + = tmp [i] [z];
      html + = "<th>"
    }
    html + = "</tr>"
  }
  html + = "</table>";
  Logger.log (html);
  вернуть html
}

Чтобы проверить правильность выполнения сценария, просмотрите журналы. Для этого:

  • Перейти к просмотрам:

  • Теперь нажмите на журналы:

Если вы видите свою электронную таблицу в формате HTML внутри журнала, значит, функция извлечения работает нормально.

Шаг 5: Теперь последняя процедура - создать функцию doGet и развернуть веб-сайт. Теперь вставьте функцию doGet в файл code.gs вместе с функцией извлечения.

 function extract () {
  var tmp = SpreadsheetApp.getActiveSheet (). getDataRange (). getValues ();
  var html = "";
  html + = "<таблица>"
  for (var i = 0; i <tmp.length; i ++) {
    html + = "<tr>"
    for (var z = 0; z <tmp [i] .length; z ++) {
      html + = "<th>"
      HTML + = tmp [i] [z];
      html + = "<th>"
    }
    html + = "</tr>"
  }
  html + = "</table>";
  Logger.log (html);
  вернуть html
}
function doGet (e) {
  return HtmlService.createHtmlOutput (extract ());
}

После написания полного кода:

  • Продолжайте публикацию

  • Теперь разверните как веб-приложение. Вам будет предоставлен URL-адрес приложения.

Шаг 6 (необязательно) . Теперь предположим, что если вы не хотите отображать все столбцы, измените код столбцов, которые вы хотите отображать. Например, в этом случае мы покажем только «если мы опубликуем эту статью».

 function extract () {
  var tmp = SpreadsheetApp.getActiveSheet (). getDataRange (). getValues ();
  var html = "";
  html + = "<таблица>"
  for (var i = 0; i <tmp.length; i ++) {
    html + = "<tr>"
      html + = "<th>"
      HTML + = tmp [я] [3];
      html + = "<th>"
    html + = "</tr>"
  }
  html + = "</table>";
  Logger.log (html);
  вернуть html
}
function doGet (e) {
  return HtmlService.createHtmlOutput (extract ());
}

С этим можно сделать гораздо больше. Вы можете отображать только количество пользователей, которые сказали «да» или «нет», вы можете добавить свой собственный HTML-код, а также можете добавить к нему немного CSS.