I passi da seguire sono semplici:
- Creare un nuovo foglio di lavoro o aprirne uno già esistente accedendo a Google Docs tramite la pagina https://docs.google.com/spreadsheets/u/0/;
FIG 1 - Fogli Google, creare un nuovo foglio di lavoro - Dal menu Strumenti selezionare Editor di script;
FIG 2 - Google Docs, Editor di script - Cliccare su Progetto senza titolo quindi assegnare un nome al progetto e cliccare su OK;
FIG 3 - Google Docs, Nome Progetto - Copiare e incollare il seguente codice;
function onOpen() { SpreadsheetApp.getUi().createMenu('Ordina Fogli') .addItem('Ordina dalla A alla Z', 'sortAtoZ') .addItem('Ordina dalla Z alla A', 'sortZtoA') .addItem('Ripristina ordine prec.', 'ripristina') .addToUi(); } function sortAtoZ() { var ss = SpreadsheetApp.getActiveSpreadsheet(), old = []; ss.getSheets().map ( function (d) { var name = d.getName(); old.push(name); return name; }).sort().reduce ( function (arr, e, j) { ss.setActiveSheet(ss.getSheetByName(e)); ss.moveActiveSheet(j + 1); return arr; }, []); PropertiesService.getScriptProperties().setProperty('old', JSON.stringify(old)); } function sortZtoA() { var ss = SpreadsheetApp.getActiveSpreadsheet(), old = []; ss.getSheets().map ( function (d) { var name = d.getName(); old.push(name); return name; }).sort().reverse().reduce ( function (arr, e, j) { ss.setActiveSheet(ss.getSheetByName(e)); ss.moveActiveSheet(j + 1); return arr; }, []); PropertiesService.getScriptProperties().setProperty('old', JSON.stringify(old)); } function ripristina(range) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var range = JSON.parse(PropertiesService.getScriptProperties().getProperty('old')); range.reduce ( function (arr, e, j) { ss.setActiveSheet(ss.getSheetByName(e)); ss.moveActiveSheet(j + 1); return arr; }, []); }
- Cliccare sul pulsante che rappresenta un insetto per eseguire il debug e il salvataggio del progetto e seguire le istruzioni a video per autenticare/autorizzare lo script;
FIG 4 - Google Docs, script debug - Chiudere e riaprire il foglio di lavoro. Apparirà un nuovo menu Ordina Fogli che consentirà di ordinare i fogli in maniera crescente (dalla A alla Z), decrescente (dalla Z alla A) o ripristinare l'ordine precedente all'ultima modifica.
FIG 5 - Google Docs, nuovo menu Ordina Fogli
Come visibile dallo script, i nomi dei fogli vengono considerati come stringhe, ciò significa che se i nomi sono numeri questi vengono ordinati considerando l'ordine alfabetico e non il loro valore numerico.
Dal seguente link è possibile scaricare un file di testo contenente il codice dello script
DOWNLOAD