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