Using Google Forms, need script to turn form off and on daily, and to clear weekly

I need to:

Set the form to "Not accepting responses" every weekday at 7:16 am Then set the form to “Accepting responses” every weekday at 5:30 am Clear all responses from the form and the form spreadsheet on Friday at 2:00 pm

I have no experience with writing scripts. This is for a teacher sign-in sheet for a public high school.

Any help is greatly appreciated!

Upvotes: 0

Views: 1906

Answers (3)

JohnA
JohnA

Reputation: 1107

I was able to write a short script and set a trigger, I named my form "Play"

enter image description here

Here is the script:

function limitDays() {
  var form = FormApp.getActiveForm();
  var lastDay = 21;
  var currDate = new Date();
  var dayOfMonth = currDate.getDate();
  if (dayOfMonth > lastDay) {
    form.setAcceptingResponses(false);
  } else {
    form.setAcceptingResponses(true);
  }
}

Upvotes: 0

HDCerberus
HDCerberus

Reputation: 2143

Unfortunately, StackOverflow isn't here to write your code for you, so you won't receive an answer that you can copy/paste and get to work. The community will instead assist you with any specific roadblocks that you encounter with your code (If they can).

However, you'll be able to achieve this with the Form Service, specifically, the '.setAcceptingResponses()' method. You'll also need the Spreadsheet service with the '.clear()' method to empty the sheet.

You'll find the time triggers are the easiest way to set when the form becomes active and inactive again, however, you've mention very specific times that this needs to go offline and online again (7:16 am and 5:30 am, but only on weekdays, and 2PM to clear the sheet on Fridays), but Google Apps script time triggers can't be set down to the minute (Note the triggers explanation about the time being randomized).

An alternative would be to write a function that checks the time, have that function run every minute, and if the time = 2PM on a Friday then clear the sheet etc.

Upvotes: 1

hamster
hamster

Reputation: 11

have you checked out formLimiter by New Visions Cloud Lab? http://cloudlab.newvisions.org/add-ons/formlimiter

The description is: formLimiter automatically sets Google Forms to stop accepting responses after a maximum number of responses, at a specific date and time, or when a spreadsheet cell contains a specified value.

Great for time-bound assignments, event registrations with limited seats, or other first-come, first-served signup scenarios.

Upvotes: 0

Related Questions