# Apps Script voor docenten: automatisering in de klas [[TOC]] Veel docenttaken zijn repetitief: dezelfde mail naar veel ouders, hetzelfde document voor elke leerling, dezelfde verwerking van elke ingevulde enquete. Apps Script automatiseert precies dat soort werk. Met een beetje code laat je Google de saaie klusjes doen, zodat jij tijd overhoudt voor je leerlingen. In dit artikel maak je kennis met de mogelijkheden. ## Wat Apps Script is Apps Script is een programmeertaal van Google die in de cloud draait, zonder dat je een server nodig hebt. De taal lijkt op JavaScript, en je schrijft de code gewoon in je browser. Het bijzondere is dat Apps Script direct met je Workspace-tools praat: het leest uit Sheets, stuurt via Gmail, maakt Docs aan en verwerkt Forms. Je hoeft geen ervaren programmeur te zijn om de eerste stappen te zetten. Met enkele regels code automatiseer je al taken die je anders met de hand zou doen. En omdat alles in Google draait, hoef je niets te installeren of te onderhouden. :::info title="Alles draait in de cloud" Je opent de scripteditor vanuit een Sheet, Doc of het scriptplatform, schrijft je code en voert die uit, zonder ooit software op je eigen computer te installeren. ::: ## Een eerste automatisering Een klassiek voorbeeld is een gepersonaliseerde mail sturen op basis van een Sheet. Stel je hebt een rekenblad met namen, e-mailadressen en cijfers. Met een paar regels code loopt het script door de rijen en stuurt elke ouder een persoonlijke mail. Wat handmatig een uur kost, doet het script in seconden. :::howto title="Mail sturen op basis van een Sheet" 1. Open een Google Sheet met je gegevens (kolommen voor naam, e-mailadres en cijfer). 2. Ga naar **Extensies** en kies **Apps Script**. 3. Schrijf een functie die de rijen ophaalt met `getDataRange().getValues()`. 4. Loop met een `for`-lus door de rijen en stel per rij de tekst samen. 5. Stuur elke mail met `MailApp.sendEmail(adres, onderwerp, tekst)`. 6. Klik op **Uitvoeren** en geef bij de eerste keer de gevraagde toestemmingen. 7. Controleer of de mails correct zijn verstuurd. ::: Een minimaal script kan er zo uitzien: ```javascript function stuurMails() { const sheet = SpreadsheetApp.getActiveSheet(); const rijen = sheet.getDataRange().getValues(); for (let i = 1; i < rijen.length; i++) { const [naam, email, cijfer] = rijen[i]; MailApp.sendEmail(email, "Cijfer toets", `Beste ouder van ${naam}, het cijfer is ${cijfer}.`); } } ``` :::tip title="Test eerst op jezelf" Test een mailscript altijd eerst op je eigen adres voordat je het op echte ontvangers loslaat. Zet tijdelijk alle adressen op je eigen mailbox, controleer het resultaat, en zet pas daarna de echte adressen terug. ::: ## Triggers: automatisch laten draaien De echte kracht zit in triggers. Een trigger laat je script automatisch draaien bij een gebeurtenis of op een tijdstip. Je kunt een script elke ochtend laten draaien, of laten reageren zodra iemand een formulier invult. Zo werkt je automatisering door zonder dat jij er nog naar omkijkt. Denk aan een Form waarmee leerlingen zich afmelden. Een trigger op het versturen van het formulier laat een script direct de afmelding verwerken en een bevestiging sturen. Of een dagelijkse trigger die elke ochtend de openstaande taken samenvat en naar je mailt. De vier soorten triggers die voor docenten het nuttigst zijn: | Soort trigger | Wanneer het script draait | | --- | --- | | Tijdgestuurd | Op een vast moment, bijvoorbeeld elke ochtend om zeven uur. | | Bij verzenden formulier | Zodra een Google Form wordt ingevuld en verstuurd. | | Bij bewerken | Zodra iemand een Sheet wijzigt. | | Bij openen | Wanneer een document wordt geopend. | Je stelt een trigger in via het klokje (**Triggers**) in de scripteditor, of in code met de `ScriptApp`-service. ## Documenten genereren Een andere krachtige toepassing is het genereren van documenten. Met een sjabloon-Doc en data uit een Sheet maakt een script voor elke leerling een gepersonaliseerd document, bijvoorbeeld een certificaat, een rapportbrief of een individueel werkblad. Het script vult de gegevens in en slaat elk document op of mailt het. De werkwijze in stappen: 1. Maak een sjabloon-Doc met plaatshouders zoals `{{naam}}` en `{{cijfer}}`. 2. Lees de data uit je Sheet. 3. Kopieer per rij het sjabloon naar een nieuw bestand in Drive. 4. Vervang de plaatshouders door de echte waarden met `body.replaceText`. 5. Sla het document op of mail het, eventueel via een trigger. ## Veilig en verantwoord scripten Met automatisering komt verantwoordelijkheid. Een script dat per ongeluk honderden verkeerde mails stuurt, is zo gebeurd. Test daarom altijd grondig, begin klein en bouw uit. Wees ook bewust van de gegevens die je verwerkt: leerlingdata vraagt om zorgvuldigheid, ook in een script. :::warn title="Acties zijn snel en onomkeerbaar" Een script dat mails verstuurt of bestanden verwijdert, voert die acties razendsnel en onomkeerbaar uit. Test elk script eerst op een kleine, veilige dataset. Een foutje in een lus kan anders een hele oudergroep verkeerde berichten sturen. ::: Let ook op de dagelijkse limieten. Een gratis Gmail-account mag minder mails per dag versturen via Apps Script dan een Google Workspace-account. Bekijk de actuele quota in de officiele documentatie van Google voordat je een grote verzending start. ## Hergebruiken en delen Een goed script schrijf je een keer en gebruik je jaren. Bewaar je scripts overzichtelijk en documenteer wat ze doen, zodat je ze later terugvindt en begrijpt. Binnen een sectie kun je scripts delen, zodat collega's profiteren van het werk dat jij een keer hebt gedaan. :::faq ### Moet ik kunnen programmeren om Apps Script te gebruiken? Basiskennis helpt, maar met eenvoudige voorbeelden zet je al snel je eerste automatisering op. De taal lijkt op JavaScript, dus eerdere webervaring is een voordeel. ### Heb ik een server nodig? Nee, Apps Script draait volledig in de cloud van Google. Je hoeft niets te installeren of te onderhouden. ### Hoe laat ik een script automatisch draaien? Met een trigger, die je instelt op een tijdstip of op een gebeurtenis zoals een ingevuld formulier. Je beheert triggers via het klokje in de scripteditor. ### Is het veilig om met leerlingdata te scripten? Het kan, maar wees zorgvuldig. Test op kleine sets, deel scripts alleen binnen je organisatie en ga net zo bewust met privacy om als overal. ### Hoeveel mails mag een script per dag sturen? Dat hangt af van je accounttype. Een Workspace-account heeft een ruimer dagquotum dan een gratis Gmail-account. Controleer de actuele limieten in de documentatie van Google. ### Waar vind ik voorbeelden om mee te starten? Google biedt kant-en-klare voorbeelden in de Apps Script-documentatie. Begin met een klein script, draai het op testdata en breid het stap voor stap uit. ::: Met Apps Script automatiseer je het routinewerk en houd je tijd over voor het echte lesgeven. In het volgende artikel kijken we naar effectief feedback geven via Google Docs.