function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Funzioni utente') .addItem('Istruzioni per l\'uso', 'istruzioni') .addItem('Verifica duplicati selezionati', 'verificaDuplicatiSelezionati') .addToUi() } function istruzioni() { var ui = SpreadsheetApp.getUi(); var messaggio = `Usa la funzione Verifica duplicati selezionati prima di caricare nuovi utenti con foglio .csv nella console di amministrazione. Verificherà se nel tuo dominio esistono già utenti con uno username tra quelli che stai per caricare. Procedi così: 1. Posizionati nel foglio di lavoro contenente la lista degli username che caricherai 2. Seleziona con il mouse tutte le celle contenenti gli username (controlla che rimangano selezionate prima del passaggio 3) 3. Avvia la funzione Verifica duplicati selezionati Al termine dello script una finestra ti avviserà del numero di duplicati trovati. Se vengono trovati duplicati, verranno evidenziate in rosso le righe relative. Potrai quindi intervenire manualmente per cambiare gli username in conflitto. Puoi ripetere la funzione di controllo di nuovo, se occorre, per il numero di volte che vuoi.`; ui.alert(messaggio); } function verificaDuplicatiSelezionati() { var ui = SpreadsheetApp.getUi(); var ss = SpreadsheetApp.getActiveSpreadsheet(); var foglio = ss.getActiveSheet(); var dominio = Session.getActiveUser().getEmail().split("@")[1]; foglio.getDataRange().clearFormat(); var utentiSelezionati = foglio.getActiveRange().getValues(); Logger.log(utentiSelezionati); var utentiDominio = []; var numeroDuplicati = 0; var pageToken; var page; do { page = AdminDirectory.Users.list({ domain: dominio, orderBy: 'givenName', maxResults: 100, pageToken: pageToken }); var users = page.users; if (users) { for (var i = 0; i < users.length; i++) { var user = users[i]; utentiDominio.push(user.primaryEmail); } } pageToken = page.nextPageToken; Utilities.sleep(1000); } while (pageToken); for (var j = 0; j < utentiSelezionati.length; j++) { if (utentiDominio.includes(utentiSelezionati[j][0].toString())) { foglio.getRange(j + 2, 1, 1, 2).setBackground('red'); numeroDuplicati++; } } ui.alert('Sono stati trovati ' + numeroDuplicati + ' utenti già esistenti.'); }