# AppsScript.org

{% embed url="<https://docs.google.com/presentation/d/1axBhjs_drShl4521i5II7QBkwJBXZDN5qNPYe6ACHcY/edit?usp=sharing>" %}


# Form Creation Demo

## Source Code

```javascript
function createFormDemo() {
  // name of the Form
  var form = FormApp.create('Google Apps Script for Educators Session')
  // creates a new item of the Form
  // creates paragraph items
  var item = form.addParagraphTextItem();
  item.setTitle('Name');
  form.addParagraphTextItem()
  .setTitle('Email:');
  
  // Multiple Choice Item
  form.addMultipleChoiceItem()
  .setTitle('What state are you in?')
  .setChoiceValues(['Georgia','Indiana','Michigan','New Jersey','Ohio','Pennsylvania']);
  form.addMultipleChoiceItem()
  .setTitle('How many years have you been teaching?')
  .setChoiceValues(['Student Teaching 😇','First Year! 😅','2 😉','3 😌','4 🤠','5 😷','6 🤔','7 🤖']);
  form.addMultipleChoiceItem()
  .setTitle('Computer Science Experience')
  .setChoiceValues(['None','Some','Expert'])
  form.addParagraphTextItem()
  .setTitle('What would you like to learn in this session?')
  
  // Logger Output
  Logger.log('Form URL: ' + form.getPublishedUrl());
  Logger.log('Editor URL: ' + form.getEditUrl());
  
}
```


# Student Feedback Form

## Source Code

```javascript
function myFunction() {
  // What period is it?
  var period = 1;
  // How many groups are there?
  var groups = 5;
  
  var sheet = SpreadsheetApp.create('Student Feedback Forms - Period ' + period);
  sheet.getRange('A1').setValue('Group #');    
  sheet.getRange('B1').setValue('Published URL');
  sheet.getRange('C1').setValue('Edit URL');
  var spreadSheetRowNumber = 2;
  
  // use a loop to create each Google Form  
  for (x = 1; x <= groups; x++) {
    var form = FormApp.create('Period ' + period + ' - Group ' + x);
    var item = form.addMultipleChoiceItem();
      item.setTitle('Did the App behave per the specifications they listed in their CSP 3.4 Worksheet?');
      item.setChoiceValues(['Yes','No']);
    form.addMultipleChoiceItem()
      .setTitle('Did you find any bugs? Was there anything confusing or broken?')
      .setChoiceValues(['Yes','No']);
    form.addParagraphTextItem()
      .setTitle('If yes, what were they?');
    form.addParagraphTextItem()
      .setTitle('What did you like about their App?');
    form.addParagraphTextItem()
      .setTitle('What are your recommendations on improving their App?');
    
    // Push these values to a Google Sheet for easy reference
    // cast the spreadSheetRowNumber to a string
    n = spreadSheetRowNumber.toString();
    sheet.getRange('A' + n).setValue(x);    
    sheet.getRange('B' + n).setValue(form.getPublishedUrl());
    sheet.getRange('C' + n).setValue(form.getEditUrl());
    // increment the spreadSheetRowNumber
    spreadSheetRowNumber += 1;
  }
}
```


