Создание нескольких копий формы Google с именами из таблицы? - PullRequest
0 голосов
/ 04 апреля 2020

Мне нужно создать много идентичных форм Google, но каждая форма получает свое имя из электронной таблицы. Я думал о том, чтобы найти сценарий, который создает форму, которую я сделал, и каждый раз перед тем, как выполнить сценарий, я собираюсь изменить имя на новое.

Почему я делаю это? У меня есть парк электроинструментов, мне нужно дать им QR-коды, когда QR-код сканируется, он открывает форму Google, которая представляет собой контрольный список проверок, после того как вы заполните контрольный список, ответы затем сохраняются в электронных таблицах.

1 Ответ

0 голосов
/ 04 апреля 2020

Создание копий форм Google

Вот способ создания множества идентичных форм Google с использованием метода File.makeCopy (имя, место назначения) ( см. Документы ). Добавьте этот код к скрипту с привязкой к контейнеру в вашем Google Sheet.

function copyForm() { 
  const templateFormId = "YOUR_FORM_ID"
  const formsFolderId = "YOUR_FOLDER_ID"

  const templateForm = DriveApp.getFileById(templateFormId)
  const formsFolder = DriveApp.getFolderById(formsFolderId)
  const formNames = getFormNamesFromSheet()

  for (let formName of formNames) {
    templateForm.makeCopy(formName, formsFolder)
  }
}

function getFormNamesFromSheet() {
  const sheetName = "Sheet1"
  const rangeString = "A1:A3"
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName)
  const range = sheet.getRange(rangeString)
  const values = range.getValues()
  const formNames = values.map((item) => { return item[0]})
  return formNames
}

Альтернативный подход: использование QR-кодов и предварительно заполненных форм

Не стесняйтесь использовать копии вашей формы Google, но может быть сложно организовать все эти файлы и просматривать данные из всех форм в одном представлении. Вместо этого вы могли бы использовать одну форму, которая имеет дополнительное поле идентификатора, чтобы различать представления. Затем вы можете создать множество различных QR-кодов, которые ссылаются на одну и ту же форму, но предварительно заполнить поле идентификатора для каждого QR-кода по-разному.

Создайте форму, затем щелкните три точки в верхнем правом углу> Получить предварительно заполненными ссылка на сайт. Обновите поле идентификатора, указав некоторое значение, и нажмите ссылку «Получить» Вы получите что-то вроде этого: https://docs.google.com/forms/d/e/1FAIpQLScjwHZt7FAv8ghHK5G0KQH2k91ozMD4zr4Q9rw5_rFpoIGRhQ/viewform?usp=pp_url&entry.71316734=asdf

Посмотрите на конец ссылки, где написано & entry. (Некоторые цифры) = (ваше предварительно заполненное значение), в моем case & entry.71316734 = asdf. Вы можете просто создать копию этой ссылки, но изменить значение («asdf») на какой-то уникальный идентификатор. После того, как у вас есть все необходимые ссылки, вы можете создать отдельные QR-коды для каждой ссылки, которые в конечном итоге все указывают на одну и ту же форму, но заполняют поле id по-разному. Тогда вам понадобится только одна форма, и все данные будут видны в одной таблице. Гораздо проще отфильтровать одну большую таблицу, чем объединять множество небольших таблиц из разных таблиц Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...