forked from googleworkspace/apps-script-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsheets2forms.gs
More file actions
32 lines (28 loc) · 1.07 KB
/
sheets2forms.gs
File metadata and controls
32 lines (28 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
* Create a new form for every row in a spreadsheet. This code assumes that the
* data is in the first sheet (workbook) in the spreadsheet and has the
* columns "Title", "Question", and "Emails" in that order, with multiple email
* addresses separated by a comma.
*/
function createFormsFromSpreadsheet() {
// Open the spreadsheet and get the data.
var ss = SpreadsheetApp.openByUrl('ENTER SPREADSHEET URL HERE');
var sheet = ss.getSheets()[0];
var data = sheet.getDataRange().getValues();
// Remove any frozen rows from the data, since they contain headers.
data.splice(sheet.getFrozenRows());
// Create a form for each row.
data.forEach(function(row) {
var title = row[0];
var question = row[1];
var emails = row[2];
// Split the emails into an array and remove extra whitespace.
emails = emails.split(',').map(function(email) {
return email.trim();
});
// Create the form, append the question, and share it out.
var form = FormApp.create(title);
form.addTextItem().setTitle(question);
form.addEditors(emails);
});
}