Как поделиться определенными полями формы Google с помощью скриптов Google?
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.