# Google Forms Scripts

## Script editor

![](/files/-LlH_bUWX5f17xXTGPqf)

## Challenge #1

Let's imagine you're running a new program during a sort of free period at school. You need to track students that have the choice of multiple locations. You don't have time to get your school's attendance system in line with this new, flexible program. Instead, you'd like to share a Google Sheet with all your students and have teachers quickly note student locations using that form.

### What our script will do

All we've been asked to do is automatically create a new column for every weekday. Column A will be the student's name. Column B needs to be *today*.&#x20;

Google Forms script editor uses JavaScript. [Don't be afraid to study up a bit.](https://www.codecademy.com/learn/introduction-to-javascript)

{% hint style="info" %}
None of this should be memorized. Use the patient power of GoogleFu to work the problem.
{% endhint %}

### Solution

```javascript
function dailyColumn() {
  // create a variable that accesses all tabs of my spreadsheet
  var ss = SpreadsheetApp.getActiveSheet();
  
  // create a variable that contains the first sheet
  var sheet = ss.getSheets()[0];
  
  // insert a new column (not zero-indexed like the line above)
  sheet.insertColumnBefore(2); 
  
  // add the date to the column
  var date = Utilities.formatDate(new Date(), "GMT-4", "dd/MM/yyyy");
  sheet.getRange('B2').setValue(date);

}
  
```

### Triggers

Now that we have our solution, we need to have it auto-run every day. For that we'll need to wade into Google's G Suite Developer Hub.&#x20;

![](/files/-LlHqyFvobBJTCQp9Ccb)

![](/files/-LlHqowM0M3nxBqGKmC9)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gilmour.online/lancertech/educators/advanced/google-forms-scripts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
