Tempo di lettura: 2 minuti

In questo quinto articolo della rubrica dedicata alle Google Apps Script vedremo come costruire in automatico il reticolo della tabellina del 10. I vari comandi necessari all’esecuzione di questo compito li conosciamo praticamente tutti, vedasi i precedenti articoli sull’argomento :

Google Apps Script – 1 – Introduzione
Google Apps Script – 2 – Le funzioni
Google Apps Script – 3 – Controllo dell’errore
Google Apps Script – 4 – Cicli FOR

si tratta principalmente di impostare un ciclo for nidificato (doppio) che scorra sia le ascisse che le ordinate di una matrice.

function onOpen() {
  SpreadsheetApp.getUi()
  .createMenu("Programmi miei")
  .addItem("Crea tabellina del 10", "creaTabellinaDel10")
  .addToUi();
}

function creaTabellinaDel10() {
  // Ottieni il foglio di calcolo attivo
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 
  // Definisci la dimensione della matrice
  var size_colonne = 10;
  var size_righe = 10;

  // Crea la matrice della tabellina del 10
  for (var colonne = 1; colonne <= size_colonne; colonne++) {
    for (var righe = 1; righe <= size_righe; righe++) {
      sheet.getRange(righe, colonne).setValue(colonne * righe);
    }
  }
  
  // Dimensiona le celle in modo che siano piccole e quadrate
  var cellSize = 40;  // Dimensione della cella in pixel
  sheet.setColumnWidths(1, size_colonne, cellSize);
  sheet.setRowHeights(1, size_righe, cellSize);

  // Centra i numeri orizzontalmente e verticalmente
  sheet.getRange(1, 1, size_righe, size_colonne).setHorizontalAlignment("center").setVerticalAlignment("middle");
  
  // Imposta la prima riga e la prima colonna in grassetto
  sheet.getRange(1, 1, 1, size_colonne).setFontWeight("bold");  // Prima riga
  sheet.getRange(1, 1, size_righe, 1).setFontWeight("bold");  // Prima colonna
}

 

Il cuore di questo programma è sicuramente il tanto semplice quanto potente doppio ciclo for, che riporto di seguito isolato in modo da poter essere visionato con calma. In questo ciclo vengono definite due variabili che chiamiamo “colonne” e “righe”, ovviamente potremmo definire la dimensione di questa matrice a piacere e per esempio decidere di visualizzare la tabellina del 100 oppure del 1000. In questo senso il ciclo è molto potente perchè iterabile su dimensioni a piacere.

  // Definisci la dimensione della matrice
  var size_colonne = 10;
  var size_righe = 10;

  // Crea la matrice della tabellina del 10
  for (var colonne = 1; colonne <= size_colonne; colonne++) 
     {
     for (var righe = 1; righe <= size_righe; righe++) 
        {
        sheet.getRange(righe, colonne).setValue(righe * colonne);
        }
     }

 

Nel prossimo articolo andremo invece ad ispezionare le capacità del codice Apps Script di interagire con un altro strumento fondamentale dei servizi Google e cioè Google Calendar.

 

By Massimiliano Brambilla

Works at B-Software