Periode 3‎ > ‎

Medewerker Beheer ICT WSP

Aftekenen


Workshop 1:

Bronnen bij de eerste Workshop scripting:
Vandaag bekijken we "Google Apps Script"

Google Apps is een office omgeving die iedereen met een gmail account gratis tot zijn beschikking heeft.

Volg de eerste 3 tutorials.

Opdracht:

Maak een spreadsheet met vier kolommen: naam, e-mail adres, subject en boodschap. Schrijf een script dat e-mails verstuurt volgens de gegevens in de tabel en een 5e kolom vult met de datum en tijd waarop de mail verstuurd is. Zorg ervoor dat je script ieder bericht maar 1 keer verzend.

Workshop 2:


We gaan nog even verder met "Google Apss Scripts"

Volg de presentatie over de opdrachten: if en for.

- Kies bestand, een kopie maken om een eigen kopie verder te kunnen bewerken.
- De opdracht is om een script te maken dat vraagt om alle ontbrekende telefoonnummers.


Je kunt het volgende raamwerk gebruiken als je moeite hebt met de structuur van de opdracht:

function VraagNamen() {
 
  Browser.msgBox("Maak hier een functie die de ontbrekende telefoonnummers vraagt");
 
  //vraag een referentie naar het spreatsheet
  var sheet = SpreadsheetApp.getActiveSheet();
 
  //de variabele i krijgt de waarde 2
  var i = 2;
 
  //zolang A(i) een waarde heeft
  // != "" betekend: is niet gelijk aan een lege cel.
  while (sheet.getRange("A" + i).getValue() != "") {
   
    //Als de waarde van B(i) leeg is
    // == "" betekend: is gelijk aan een lege cel.
    if (sheet.getRange("B" + i).getValue() == "") { 
     
      //inputBox(): vraagt een waarde aan de gebruiker
      //Het antwoord wordt opgeslagen in de variabele MyValue
      //Zie opdracht 1 van workshop 1 voor de werking van Browser.inputBox()
      ............................
       
      //De nieuwe waarde schrijven we weg in B(i) 
      //Zie opdracht 1 van Workshop 1 om te leren hoe je een waarde in een cel plaatst.
      //sheet.getRange("B3").setValue("Nieuwe waarde"); zet "Nieuwe waarde" in cel "B3"
      ..............................

    }
    //i wordt 1 hoger
    i++;
  }

}


Workshop 3:

Vul dit evaluatie formulier over de afgelopen les in.

Deze workshop gaan we in op javascript. We werken met: http://www.w3schools.com/js/default.asp

Kijk eerst eens hoe veel je al weet: http://www.w3schools.com/quiztest/quiztest.asp?qtest=JavaScript

Workshop 4:

Volg de uitleg over Array's of lees de betreffende pagina's op w3schools : http://www.w3schools.com/js/js_obj_array.asp

Opdracht:

Studenten hebben een proefwerk gemaakt voor MSW. De cijfers lopen nogal uiteen. Voor de volgende opdracht worden nieuwe groepjes gemaakt.
De bedoeling is dat de groepjes eerlijk verdeeld worden. Om dit te regelen worden de studenten gesorteerd op het cijfer. Dit gedeelte is al voor je gemaakt in het voorbeeld. De groepen worden ingedeeld door de groepsnummers: 1, 2, 3 en 4 toe te kennen aan de studenten op volgorde van het cijfer.

- Maak een kopie van dit spreatsheet
- Maak een script dat de nieuwe groepjes maakt.

Mail het script naar t.boose@rocleiden.nl

Een deel van de code heb ik voor jullie geschreven en voorzien van commentaar:

function onOpen() {
  //Standaard functie om een extra menu toe te voegen:
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [ {name: "SorteerLijst", functionName: "sorteerLijst"} ];
  ss.addMenu("Sorteren", menuEntries);
}


function sorteerLijst() {
  //sheet is een verwijzing naar het huidige spreatsheet
  var sheet = SpreadsheetApp.getActiveSheet();
  //Start te lezen vanaf regel 2
  var teller = 2;
  
  //studenten is een Array
  var studenten = [];
  
  //Lees de naam en het cijfer op regel 2
  var naam = sheet.getRange("A" + teller).getValue();
  var cijfer = sheet.getRange("B" + teller).getValue()
  
  //Herhaal deze lus tot de naam leeg is
  while (naam != "") {
    
    //voeg de naam en het cijfer toe aan de aaray
    studenten.push([naam,cijfer]);
    //teller wordt 1 meer dan hij was
    teller++;
    //Lees de naam en het cijfer op regel,...
    var naam = sheet.getRange("A" + teller).getValue();
    var cijfer = sheet.getRange("B" + teller).getValue()
  }

  //sorteer de studenten op volgorde van het cijfer
  studenten.sort(function(a,b){return a[1] - b[1]});  
  
  //bigun weer boven aan de lijst
  teller = 2 ;
  //zolang er nog elementen in de array zitten
  while (student = studenten.pop()) {
    //schrijf de huidige student in kolom D en E 
    //van het huidige sheet
    sheet.getRange("D" + teller).setValue(student[0]);
    sheet.getRange("E" + teller).setValue(student[1]);
    //teller wordt 1 meer dan hij was
    teller ++;
  }
}
Comments