Pazzesco! Tutorial incredibile! Complimenti per la semplicità, velocità e "concretezza!!"
@_MagicMike
2 жыл бұрын
Grazie 1000 Alessandro per il feedback! 💪🙂
@mariodamiani4832
8 ай бұрын
molto utile! Si potrebbe scrivere un codice che cancelli in automatico una determinata riga (ad esempio la 3) di un foglio google quando si supera la scadenza?
@_MagicMike
8 ай бұрын
Ciao Mario, grazie del feedback! Certo che è possibile ottenere quello che hai descritto, dovrai usare le condizioni in base alla regola di cui hai bisogno.
@mariodamiani4832
8 ай бұрын
ho provato a farlo, utilizzando il codice del tuo video fino alla riga 7 " if (expired) " e poi sostituendo il comando "mailApp..." con il comando "deleteRows (3)" ma non mi funziona. Il compilatore non mi dà errori, ma non capisco dove non va bene
@_MagicMike
8 ай бұрын
@@mariodamiani4832 probabilmente l'esecuzione non entra nel ciclo o nella condizione, verifica in quei punti se riesci a capirne il motivo, può anche essere che le date non vengono riconosciute correttamente.
@santinaderenzo784
2 жыл бұрын
Porca Trota che sei bravo
@chiarettasanx
3 жыл бұрын
Ciao grazie mille per questo video, mi è stato incredibilmente utile! Ho una domanda: come è possibile applicare il codice a più fogli insieme che mantengono lo stesso format? perchè seguendo le tue indicazioni riesco ad applicarlo solo al primo foglio del file. Grazie!!
@_MagicMike
3 жыл бұрын
Ciao chiara, grazie del commento e del feedback! 🙂 Con il codice del video riesci a riferirti solo al primo foglio perché il metodo utilizzato è _getActiveSheet()_ . Utilizzando invece il metodo _getSheetByName("NOME_FOGLIO")_ e indicando tra le parentesi il nome del foglio di tuo interesse, puoi riferirti specificatamente a quello. Trovi un esempio della sintassi da utilizzare nella lezione 6 del mio corso sul JavaScript Semplificato per Google, nel caso specifico proprio in questo punto: kzitem.info/news/bejne/tKCC1YGjqqWUpZw
@chiarettasanx
3 жыл бұрын
@@_MagicMike Grazie mille, ho dato un'occhiata al riferimento che mi hai linkato ma non mi da indicazioni sul getSheetByName("NOME_FOGLIO"), ma sui cicli for.. forse ho interpretato male io, magari devo cercare qualcos'altro. Grazie mille dell'aiuto che puoi darmi.
@_MagicMike
3 жыл бұрын
Ciao @@chiarettasanx il video che indicato è riferito ai cicli tuttavia nell'esatto minuto che ti ho condiviso puoi vedere l'editor di script con un esempio di utilizzo del metodo in questione. Fammi sapere se ti torna. Grazie!
@giacintomanfron5031
Жыл бұрын
Grazie per questo contenuto! una domanda da principiante: nel mio foglio con la lista contatti, dal menu "strumenti", non ho il sottomenu 'editor di script'. Cosa posso fare?
@_MagicMike
Жыл бұрын
Ciao Giacinto, grazie a te per il feedback! 🙂 Nel nuovo aggiornamento di Google Sheets la voce per aprire l'editor di script è stata spostata sotto al menu 'Estensioni' 🙂👍
@trillyludo
2 жыл бұрын
Ciao, complimenti per il video! come posso inserire in uno scadenziario "normale" (colonna con oggetto, colonna con data scadenza, colonna con tempo rimanente) la possibilità di impostare la data che si aggiorna in automatico e che se una casella della colonna "tempo rimanente" segnala un mese invia una email di segnalazione e se scaduto ne invia un altro messaggio email?
@_MagicMike
2 жыл бұрын
Ciao Ludovica, grazie del feedback! 🙂 per ottenere quello che hai descritto dovresti lavorare con i metodi getValue() e setValue(). Se le righe non sono troppe puoi verificarne una ad una, in quel modo hai il riferimento della riga lato codice e puoi facilmente modificare il valore della cella corrispondente di tuo interesse. Il controllo sul mese segue lo stesso principio, in quel caso con le formule per la gestione della data isoli il mese dalla data odierna TODAY() e quello nella cella della riga processata e procedi con un confronto. La mail la imposti di conseguenza. Il tutto verificato quotidianamente con un trigger giornaliero. Ovvio che trattandosi di un progetto vero e proprio richiede un po' di esperienza di sviluppo ma, se non ti manca, il flusso più pratico da seguire è quello descritto. Spero di averti dato dei validi spunti 🙂
@FrancescoAntonioSanso
Жыл бұрын
ciao Michele, grazie per il tutorial, mi sei stato veramente utile. Lavoro in un ufficio pubblico della provincia di Lecce e nel mio ufficio stiamo organizzando le procedure di lavoro. Grazie al tuo tutorial ho creato uno scadenziario utile ed esportabile anche ad altri uffici. Essendo completamente digiuno del linguaggio in questione, ho creato un file tale e quale a quello che tu hai trattato nel video. ma dovrei per praticità, pescare i dati sempre da tre colonne, ma inserite in un file che ne contiene delle altre. Spero di essere stato chiaro. Cercherò a piccole pillole di seguire il tuo corso, anche se il tempo che ho a disposizione è veramente poco. Ti sarei grato se potessi nel frattempo darmi qualche indicazione pratica su come adattare le righe di codice di questo video alle mie esigenze.
@_MagicMike
Жыл бұрын
Ciao Francesco, grazie del commento! 🙂 Se hai più colonne nel tuo Foglio ti basta selezionare tutto l'intervallo occupato dalle colonne indicandolo in getRange e all'interno del ciclo specificare l'indice delle colonne dalle quali recuperare i dati in base alla loro posizione nel tuo Foglio. In altri video nel canale applico spesso questo approccio, se provi a darci un'occhiata vedrai che è un passaggio intuitivo 🙂👍
@FrancescoAntonioSanso
Жыл бұрын
Ciao Michele, ho notato, applicando il codice alle nostre procedure d'ufficio , che il codice invia ogni giorno anche le email dei giorni precedenti. Sto anche cercando di fare il tuo corso on line. Hai qualche rapido suggerimento per evitare questa ripetizione. Magari qualche istruzione aggiuntiva.... grazie
@_MagicMike
Жыл бұрын
@@FrancescoAntonioSanso ciao Francesco, confermo che il funzionamento del codice mostrato all'interno del video, trattandosi di una demo per evidenziare le potenzialità dello strumento, è quello descritto. Per evitare di inviare nuovamente una mail allo stesso indirizzo potresti aggiungere un valore in una cella della stessa riga che funga da controllo. Se quel valore è presente non invia la mail, se non è presente invece invia la mail e scrive quel valore nella cella. In questo modo ti assicuri di inviare una sola volta la comunicazione al destinatario.
@StefanoGiansante-ih8xu
4 ай бұрын
ciao scusa un’informazione, se l’email deve esse mandata 20 giorni prima della data di scadenza cosa dobbiamo scrivere?
@_MagicMike
4 ай бұрын
Il modo più veloce senza toccare il codice è quello di impostare la colonna della scadenza con 20 giorni in meno rispetto alla data di effettiva scadenza, con le formule di Google Sheets
@robertocivita6717
2 жыл бұрын
Ciao michele, quando utilizzo un trigger temporale con cadenza giornaliere, è possibile impostare una data di fine? faccio un esempio: il trigger deve essere eseguito tutti i giorni alle 9 del mattino fino al 31 dicembre 2022
@_MagicMike
2 жыл бұрын
Ciao Roberto, potresti inserire lo script all'interno di un'istruzione condizionale che controlla se la data è inferiore o uguale al 31 dicembre 2022. In questo modo dal 1 gennaio 2023 la condizione eviterà l'esecuzione del codice al suo interno terminando subito dopo.
@paolotarantino8626
Жыл бұрын
Buongiorno, video utilissimo, ma nei miei fogli di google non appare la voce editore di script nella sezione 'Strumenti ', lo trovo solo su estensioni, esiste un modo per abilitarlo?
@_MagicMike
Жыл бұрын
Ciao Paolo, negli ultimi mesi Google ha apportato alcune modiche all'interfaccia dei Fogli Google, tra le quali lo spostamento di quella voce da un menu a un altro. Quello che trovi ora sotto Estensioni è la stessa cosa di quello che prima era sotto Strumenti. Non hai bisogno di abilirare niente, accedi all'editor da lì 🙂
@paolotarantino8626
Жыл бұрын
Grazie mille per la risposta😊
@ilmiodiariodaquandononci-ex2su
4 ай бұрын
ciao. vorrei fare una cosa simile ossia che mi arrivi una mail come promemoria ma su appsheet. hai qualche soluzione? grazie
@_MagicMike
4 ай бұрын
Su AppSheet puoi usare i bot e le notifiche
@DavideCipriani-j6l
8 ай бұрын
Ciao Michele! Complimenti per i video, sono semplici, intuitivi e molto utili. Volevo chiederti come faccio a far inviare le email automatiche dalla mia seconda email associata all'account gmail?
@_MagicMike
8 ай бұрын
Ciao Davide, grazie del feedback! 🙂 Per rispondere alla tua domanda, puoi provare gestendo il parametro 'from' di sendEmail: developers.google.com/apps-script/reference/gmail/gmail-app?hl=it#sendEmail(String,String,String,Object)
@DavideCipriani-j6l
8 ай бұрын
@@_MagicMike Grazie mille davvero! Sono riuscito a risolvere! Volevo chiederti anche, se dovessi utilizzare il sistema di scadenze automatico mettendo nell'email un'immagine in linea, come dovrei impostare la funzione?
@_MagicMike
8 ай бұрын
@@DavideCipriani-j6l nel canale puoi trovare un video dedicato proprio a questo 🙂
@albertocarrara9700
4 ай бұрын
molto bene, quello che volevo. una sola domanda: ma ogni quanto fa il controllo della data? è giornaliero?
@_MagicMike
4 ай бұрын
Nel caso dell'esempio sì, puoi comunque impostarlo in base alle tue esigenze
@albertocarrara9700
4 ай бұрын
@@_MagicMike chiedo troppo se mi indichi come dare a stabilire che la data sia (ad esempio ) le 8:00? è corretto aggiungere le seguenti righe al tuo codice? function createTrigger() { ScriptApp.newTrigger('inviaNotificaScadenza') .timeBased() .atHour(8) .everyDays(1) .create(); } function deleteTrigger() { var allTriggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < allTriggers.length; i++) { ScriptApp.deleteTrigger(allTriggers[i]); } }
@StefanoBucci-tu2ge
9 ай бұрын
Ciao Michele, ti ringrazio per le nozioni che mi hai trasmesso perché mi hanno permesso di creare la mia prima app. Adesso però avrei bisogno che quest'app invii delle notifiche push al verificarsi delle modifiche di una view. È possibile?
@_MagicMike
9 ай бұрын
Ciao Stefano, hai provato a giocare con qualche impostazione della sezione automazioni?
@emanueleb.3697
3 жыл бұрын
Ciao Michele, intanto complimenti per i tuoi video! Ti seguo da poco ma già mi hai insegnato moltissimo. Riguardo questo video, mi è stato molto utile per la gestione delle scadenze e l'invio delle notifiche tramite telegram. Un'unica cosa, sto provando a gestire le scadenze con notifica 3 giorni prima. Ho provato varie modifiche ma non riesco. Puoi aiutarmi? Grazie mille
@_MagicMike
3 жыл бұрын
Ciao Bornicchio, grazie dei complimenti e complimenti a te per l'idea e l'integrazione con Telegram 🙂 Relativamente al tuo problema potresti risolvere in un modo semplificato, ad esempio definendo in un'altra colonna la data di scadenza da verificare che sarà rappresentata dalla data originale meno 3 giorni, banalmente con una formula come =H1-3 dove in H1 c'è la data originale. Altrimenti per fare tutto lato codice potresti utilizzare una funzione JavaScript che calcola la differenza in giorni tra 2 date. La gestione delle date è un aspetto ostico praticamente in tutti i linguaggi di programmazione. Spero di averti dato gli spunti giusti per allineare il tuo progetto 🙂
@emanueleb.3697
3 жыл бұрын
@@_MagicMike grazie per la tempestività, ho preferito fare tutto lato JS, ho risolto con un today.setDate(today.getDate() + 3); Funziona egregiamente! Ancora complimenti, mi hai convinto a prendere il tuo libro. Faccio tutt'altro nella vita ed il tuo approccio regala grandi soddisfazioni!
@_MagicMike
3 жыл бұрын
@@emanueleb.3697 Ottima soluzione! La strada lato codice è sicuramente quella che avrei preferito anch'io, complimenti per l'ulteriore alternativa che hai adottato :) Grazie a te della condivisione e soprattutto del feedback che hai lasciato sull'approccio che sto proponendo! :)
@Lukeee555
Ай бұрын
Grazie per questo video, molto interessnte ed esaustivo. Essendo la prima volta che mi cimento con gli script su Sheet, non mi è molto chiaro come far riferimento alle giuste celle, quando si specifica (N, 0) etc... E se è possibile far inviare la notifica sempre ad una stessa mail (o più di una). Grazie
@_MagicMike
Ай бұрын
Per la questione "(N, 0)" puoi trovare le info che cerchi in questo link della documentazione: developers.google.com/apps-script/reference/spreadsheet/sheet?hl=it#getRange(Integer,Integer) Ti confermo inoltre che puoi inviare email agli indirizzi che desideri, anche più di uno e anche uno diverso per ogni riga. Ovviamente è qualcosa da gestire ad hoc lato codice.
@antoniocantafio6100
7 ай бұрын
Grazie per il tutorial, combinato al tuo libro è uno strumento pazzesco, ho solo una domanda ma se nello stesso file ho n fogli come posso impostare lo script per ogni foglio in modo che ogni account riceva il reminder con le proprie scadenze?
@_MagicMike
7 ай бұрын
Ciao Antonio, in tal caso dovresti recuperare la lista dei Fogli, ad esempio con il metodo getSheets() ed effettuare un ciclo sul suo risultato in modo da ripetere il codice per ogni Foglio.
@sergio_molinari
2 жыл бұрын
Ciao Michele, ma se volessi inviare un unica mail con il riassunto dei clienti in scadenza? Ho provato ma il risultato che ottengo sono tante mail quante sono le scadenze. Grazie dell'eventuale aiuto, Ciao ✌
@_MagicMike
2 жыл бұрын
Ciao Sergio, in questo caso dovresti costruire una stringa di nomi e/o indirizzi email all'interno del ciclo togliendo l'invio della mail e spostando questa riga al di fuori del ciclo, subito dopo l'uscita. Ovviamente ci sono diverse strade e in tutti i casi sono necessari controlli per evitare le eccezioni, ad ogni modo può essere un buon punto di partenza.
@roccia781
3 жыл бұрын
Buonasera, volevo una informazione in merito ad un foglio excel molte colonne di scadenziario, che stringa devo usare? questa specificata funziona solo per tre colonne. Inoltre è possibile essere avvisati tipo 10 giorni prima?
@_MagicMike
3 жыл бұрын
Ciao Carmine, lo script mostrato nel video recupera già tutte le colonne valorizzate del foglio attivo. Per riferirsi ai valori delle varie colonne dovrai quindi utilizzare gli indici dell'array: la prima colonna ha indice 0, la seconda ha indice 1, la terza ha indice 2 e così via. Per quanto riguarda invece l'avviso anticipato è necessario gestire il codice alla riga 6, anziché verificare semplicemente che la data odierna sia superiore a quella presente nella cella si potrebbe, ad esempio, ottenere il valore in millisecondi delle due date, con _getTime()_ , per poi procedere con una sottrazione ed una successiva riconversione in giorni del valore ottenuto. A questo punto se il risultato è uguale a 10 fai inviare la mail 👍
@roccia781
3 жыл бұрын
@@_MagicMike grazie mille per la tempestiva risposta... Mi sono addentrato ora in questo campo! È possibile ricevere uno script aggiornato con quello che mi hai illustrato? Te ne sarei tanto grato
@roccia781
3 жыл бұрын
@@_MagicMike se le invio il file excel per farle capire quello che vorrei ottenere fosse la cosa migliore. È possibile?
@_MagicMike
3 жыл бұрын
Ciao @@roccia781 la mission del mio impegno che metto in questo progetto divulgativo, è quella di portare chi vuole avvicinarsi a questo mondo ad ottenere il risultato desiderato in maniera autonoma 🙂 Ovviamente richiede uno sforzo iniziale ma la soddisfazione provata dopo è impagabile. Se parti da 0 con il JavaScript ti consiglio di seguire il mio video corso gratuito sul JavaScript Semplificato per Google: kzitem.info/news/bejne/0n9sxa14kJFonZw Il mio blog www.appsscript.it è inoltre una fonte di spiegazioni e script di vario tipo e finalità. Come lettura completa dalla A alla Z ti consiglio il mio libro "Punta in alto con... Google Apps Script": www.amazon.it/Punta-alto-Google-Apps-Script/dp/1794059393/
@_MagicMike
3 жыл бұрын
Ciao @@roccia781 sul tema ho risposto al messaggio precedente. Ad ogni modo ho previsto nei prossimi giorni di realizzare un video sul calcolo della differenza in giorni in JavaScript! Le righe di codice di questo script potranno poi essere utilizzate all'interno del tuo progetto, nel caso specifico appunto per essere avvisati tipo 10 giorni prima della scadenza 🙂
@chiarettasanx
2 жыл бұрын
Ciao, ormai uso da un po Apps Script, ma da qualche giorno non funziona più, mi sono accorta che non mi arrivavano più le mail, andando sul foglio google e provando ad aprire apps script mi compare sempre una pagina di notifica con scritto "Impossibile aprire il file in questo momento.Verifica l'indirizzo e riprova." ho letto info nelle faq drive e sembra come se apps script non potesse più essere installato come componente aggiuntiva. Come potrei risolvere?
@_MagicMike
2 жыл бұрын
Ciao chiara, il messaggio di errore è effettivamente un po' generico, a scanso di equivoci che possa essersi corrotto qualcosa nel file stesso, proverei a riportare il codice su un nuovo Foglio Google ed iniziare ad utilizzare quello. Potrebbe risolvere la situazione.
@marcellodistaso1313
3 жыл бұрын
ciao domanda è possibile entrare in contatto con te in qualche maniera? sto cercando di usare questo codice insieme ad sendMessage per un bot su telegram e ho un problema nel rilevare la data dalle celle del google sheet, poichè la funzione manda un messaggio per ogni data inserita e no per una singola data o una futura/passata, non so se mi sono spiegato bene aspetto tue notizie e grazie in anticipo :)
@_MagicMike
3 жыл бұрын
Ciao Marcello, il codice di questo video effettua un ciclo su tutte le righe presenti nel Foglio e per ogni riga verifica la data presente nella colonna specificata, se sostituisci il codice di invio email con sendMessage quest'ultimo verrà inviato per ogni data che soddisfa la condizione. Non riesco a identificare effettivamente quello che intendi, ad ogni modo se vuoi limitare l'invio dell'informazione ad una sola riga di interesse dovresti adeguare il codice affinché la condizione sia più stringente, probabilmente potrebbe essere necessaria una doppia condizione.
@marcellodistaso1313
3 жыл бұрын
@@_MagicMike si capito grazie. Mi sorge quindi una domanda, se invece di dire che la var today sia maggiore oppure minore dichiariamo nell'If che sia uguale alla cell_date lui legge tutte le date o solo quella realmente uguale? Perché mettendo = mi manda un messaggio per ogni cella in cui è presente una data che sia essa uguale o no alla var today
@_MagicMike
3 жыл бұрын
@@marcellodistaso1313 In tal caso direi che il problema è proprio l'operatore utilizzato che non è quello corretto. Inserendo il simbolo dell'uguale stai assegnando il valore della seconda variabile alla prima anziché metterle in relazione. Per questo motivo il sistema legge indistintamente tutte le celle valorizzate, indipendentemente che dentro ci sia una data o altro, poiché la presenza del valore restituisce _true_. Per farti capire meglio dove sta l'errore e utilizzare l'operatore corretto ti consiglio di dare un'occhiata a questa mia video lezione sui "Tipi di dato, Operatori e Array": kzitem.info/news/bejne/mped13ygrJ16im0
@InstantSharing
3 жыл бұрын
scusa ho un dubbio, io anche ho utilizzato la funzione today.setDate(today.getDate() + 3); che ha condiviso un utente qui sotto nei commenti e funziuona benissimo, io l'ho impostato che a 20 giorni dalla scadenza invia l'email a me ed al cliente, ma la domanda è questa, lo script cosa fa manda tutti i giorni l'email della scadenza ? no perchè io vorrei che inviasse a 20 giorni dalla scadenza 1 sola email a me ed al cliente, non tutti i giorni
@_MagicMike
3 жыл бұрын
Ciao InstantSharing, lo script così come è strutturato gira tutti i giorni e verifica ogni volta le date di scadenza. Per cui invia la mail ogni giorno da quel momento in poi fino a che la data di scadenza non viene aggiornata. Si tratta di uno script pensato per essere sempre allertati in modo da non dimenticarsi che ci sono questioni pending. Questo non vuol dire ovviamente che non può essere adattato alle proprie esigenze. Sulla base del codice che stai già utilizzando puoi apportare le dovute modifiche in modo che dopo il primo invio dell'email non ne invii altre nei giorni successivi. Puoi seguire diverse strade, alcuni suggerimenti che posso darti sono ad esempio inserire una riga di codice che dopo l'invio dell'email aggiorna la data di scadenza all'anno successivo oppure svuota direttamente la cella con la data (in questo modo quella riga non sarà più oggetto di controllo) oppure, un po' più elaborato se pur non troppo, potresti scrivere un valore in una cella di una colonna adiacente (facendoci scrivere dal codice ad esempio '1') dopo che la mail è stata inviata e fare un controllo a monte in modo che la funzione verifichi solo le celle che non hanno quel valore in quella colonna. Sono sicuro che dopo alcune prove riuscirai ad apportare con successo questa modifica :)
@InstantSharing
3 жыл бұрын
@@_MagicMike ottimo consiglio, vorrei farci scrivere nella cella scadenza (email inviata, sostituire scadenza) ma come si fa ? ci sto provando ma non riesco a venirne a capo, puoi suggerirmelo tu per favore ? :D
@_MagicMike
3 жыл бұрын
@@InstantSharing Direi che questa pillola di Apps Script può indirizzarti sul corretto metodo da utilizzare: kzitem.info/news/bejne/1puM16iYpp6Soaw sta poi a te adattare il comando al tuo caso specifico. Se sei alle prime armi con Google Apps Script è normale che ci sia un minimo di disorientamento iniziale tuttavia dopo qualche prova, comprendendo il meccanismo di scrittura e lettura dei dati nei Fogli di Google, ti assicuro che questi passaggi diventeranno banalità.
@InstantSharing
3 жыл бұрын
@@_MagicMike grazie mille 🙏🏻
@EmilianoPancaldi
2 жыл бұрын
Davvero chiaro e semplice da implementare, seguendo passo passo le tue indicazioni. Suggerimento: so che suona forse troppo come "pappa pronta", ma nella descrizione, volendo, si potrebbe inserire il testo del codice da inserire. In questo modo sono sicuro di non fare errori e di realizzare la mia applicazione (che interagirà con il mio foglio di lavoro) in pochi nanosecondi. Che ne dici?
@_MagicMike
2 жыл бұрын
Grazie Emiliano del commento e del feedback 🙂 Per il resto sono d'accordo che il codice pronto velocizzerebbe le operazioni tuttavia, io VOGLIO che vengano fatti errori, perché è proprio grazie a quelli che si impara e si migliora, il copia e incolla dà solo l'impressione di essere un grande aiuto, in realtà non porta alcun valore aggiunto e soprattutto nessuna soddisfazione 😉
@pierocunicella3626
11 ай бұрын
Ciao Michele, è possibile fare la stessa cosa inserendo i dati su più foglii?, mi spiego, ho da inviare la scadenza a piu persona "email", ma per motivi diversi, esempio vorrei creare dei fogli per categoria, esempio, scadenza patente di guida.....scadenza visita medica, scadenza revisione, ecc. È possibile fare questo?. Grazie❤
@_MagicMike
11 ай бұрын
Ciao Piero, certo che è possibile. Anziché indicare il Foglio corrente è possibile interfacciarsi con i singoli tab (fogli) in base al loro nome oppure in generale recuperandoli tutti con getSheets() ed effettuando un ciclo 👍🏻
@pierocunicella3626
11 ай бұрын
Ciao Michele, perdomani, siccome per il momento sono solo bravo a copiare, è possibile avere un esempio. Grazie@@_MagicMike
@_MagicMike
11 ай бұрын
@@pierocunicella3626 Ciao Piero, nei miei video puoi trovare diversi casi applicati. Un semplice esempio per recuperare tutti i Fogli dello Spreadsheet ed effettuare un ciclo su di essi è quello che ti riporto sotto, tuttavia se non hai un minimo di basi JavaScript e logiche di programmazione non ti sarà sufficiente copiare parti di codice perché non troverai mai quello che fa esattamente al caso tuo. Ad ogni modo questo è l'esempio sul quale potrai aggiungere la logica del tuo progetto (ho reso parlanti i nomi delle variabili): var tutti_i_fogli = SpreadsheetApp.getActiveSpreadsheet().getSheets(); for (var i = 0; i < tutti_i_fogli.length ; i++ ) { var foglio_corrente = tutti_i_fogli[i]; var nome_foglio_corrente = foglio_corrente.getName(); Logger.log(nome_foglio_corrente); }
@pierocunicella3626
11 ай бұрын
@@_MagicMike Grazie mille Michele
@francescocarta3685
2 жыл бұрын
Ciao Michele mi interesserebbe capire se attraverso il mio programma gestionale per amministratori di condominio posso creare avvisi come quello delle scadenze agganciandolo in qualche maniera. Ad esempio avvisi di scadenza rate automatica rispetto alle date del piano rateale di tutti i condomini, ma sopratutto è possibile avere un report giornalieri delle mail inviate e una meno su calendar
@_MagicMike
2 жыл бұрын
Ciao Francesco, se il tuo programma gestionale per amministratori è fatto con gli strumenti Google è sicuramente possibile integrare il sistema di scadenze del video con le funzionalità aggiuntive che hai indicato. Altrimenti va capito se è possibile interfacciarsi in qualche modo con il database per trarne le informazioni necessarie allo scopo.
@francescocarta3685
2 жыл бұрын
@@_MagicMike ciao il software ha un sistema di accesso ai dati via API
@_MagicMike
2 жыл бұрын
@@francescocarta3685 in questo caso direi che tecnicamente la possibilità di connettersi al database esiste, probabilmente ci sarà la necessità di creare un TOKEN o un'API_KEY per autenticarsi quando vengono effettuate le chiamate. A quel punto, dalla documentazione, va capito quale chiamata fornisce la risposta desiderata e il tipo di output restituito.
@francescocarta3685
2 жыл бұрын
@@_MagicMike grazie mille ed è possibile capire come potresti fare un video rispetto a questo o è troppo personale?
@_MagicMike
2 жыл бұрын
@@francescocarta3685 in generale sull'accesso alle API da Apps Script con e senza autenticazione trovi dei video nel mio canale che ne parlano e mostrano l'uso. Per procedere in autonomia sicuramente puoi trarne spunto e adattare il metodo al caso in questione. Alternativamente per il caso specifico della richiesta nel tuo primo commento, trattandosi di un progetto dedicato di una certa complessità e time spending su un sistema proprietario, è necessario uno studio e progettazione che richiedono una quotazione dell'attività essendo una vera e propria commessa.
@giuseppedonadono6386
3 жыл бұрын
Buongiorno a tutti, ho ricopiato questo script ma non invia la mail e non mi scrive nemmeno nulla nei log. Bisogna impostare qualche setup iniziale per far partire la mail?
@_MagicMike
3 жыл бұрын
Ciao Giuseppe, dove lo hai ricopiato? Hai fornito allo script le autorizzazioni richieste? È probabile anche che tu stia ricevendo un errore prima che il codice arrivi ad inviare la mail. Prova a vedere nel pannello delle Esecuzioni se ci sono alcune segnalazioni di errore.
@TheSavinos
2 жыл бұрын
Buongiorno, da poco ho iniziato ad utilizzare i Fogli Google e le tue guide le trovo semplicemente fantastiche. Complimenti! Voglio chiederti un paio di cose: come posso inserire un testo più lungo nella mail automatica che viene inviata? Magari in più righi con eventuale logo. L'altra questione è che, come ho già letto nei commenti precedenti, avrei necessità di non inviare più volte la mail per la stessa scadenza e quindi modificare la cella contenente la scadenza con un commento (es. mail inviata) in modo da non essere inclusa nel controllo. Non ho capito come posso fare. Grazie
@_MagicMike
2 жыл бұрын
Ciao TheSavinos, grazie dei complimenti 🙂 La risposta alla tua prima domanda è inviare le email in formato HTML anziché come semplice testo. A tal proposito ti saranno sicuramente utili questi miei video della sezione "*Pillole di Apps Script*": - Inviare Email HTML e in Copia Carbone: kzitem.info/news/bejne/t3ist6ePa4l4g3Y - Inviare Email in Automatico con Immagini in Linea: kzitem.info/news/bejne/0I9jyWx3f4R9jZg Nella sezione puoi trovare altri video utili, ad esempio, per recuperare il contenuto da un Google Docs ed inviarlo via email. Per la seconda questione invece potresti optare per due strade, la prima è quella di scrivere nella cella della data aggiornandola (ad esempio all'anno successivo), la seconda è quella di scrivere un testo nella cella a fianco, quindi sarà necessario modificare lo script in modo che da scrivere, leggere e in base a una condizione gestire o meno l'invio della mail. Per capire come scrivere i dati in un Foglio Google ti lascio il riferimento a questo mio video: - Fogli Google - Scrivere i Dati nelle Celle: kzitem.info/news/bejne/1puM16iYpp6Soaw
@MrRockfury
Жыл бұрын
Buonasera, ho notato che il codice parte anche se nella cell_date non c'è scritto nulla...c'è un modo per far sì che il codice parta senza aggiungere obbligatoriamente una data successiva a "today"?grazie
@_MagicMike
Жыл бұрын
Ciao Andrea, considera che il codice mostrato nel video si limita a mostrare a scopo esemplificativo la potenzialità dello strumento. Al netto di questo, è possibile integrarlo con nuove funzionalità, regole e condizioni. Nel caso specifico della tua domanda potresti inserire (da codice ovviamente) nella cella adiacente alla riga di interesse un valore e, nel caso di presenza di tale valore, al controllo successivo evitare l'invio della mail. Spero di averti dato un valido spunto 🙂
@MrRockfury
Жыл бұрын
@@_MagicMike ok grazie mille
@InstantSharing
3 жыл бұрын
wooow davvero complimenti, è quello che cercavo, sono un assicuratore e cercavo un software di scadenze che mi inviasse una notifica quando una polizza è in scadenza, e tu in modo semplice mi hai fatto vedere come crearlo con google sheet, e non devo entrarci tutti i giorni me lo vedrà in automatico anche se non entro nel foglio, grandissimo, una domanda, se volessi inviare 2 email distinte alla scadenza ? quindi una a me con i contatti del cliente, ed una al cliente con i miei contatti ?
@_MagicMike
3 жыл бұрын
Grazie del feedback! 🙂 Per inviare due email distinte è sufficiente aggiungere un'altra riga con il comando MailApp.sendEmail sotto a quella già esistente. In questo caso puoi definire il destinatario in forma fissa poiché sarai sempre te. Per i contatti del cliente invece ti basterà concatenare al terzo parametro (che è il corpo del messaggio) il contenuto del campo nel Foglio dove si trovano questi contatti (presumo in una o più diverse colonne della stessa riga da dove hai recuperato la mail del cliente).
@InstantSharing
3 жыл бұрын
@@_MagicMike Grazie mille !!! nonostante io non ci capisco nulla di programmazione, creo siti internet si ma con wordpress, programmazione proprio 0, grazie al tuo video ed hai tuoi consigli ci sono riuscito, ora invia in automatico sia a me che al cliente l'email quando è in fase di scadenza una polizza, a me invia nome del cliente, e numero di telefono, sono riuscito anche a creare una nuova variabile, dove va a recuperare la mia email sul foglio e non dal codice direttamente, cosi' volevo posso cambiare la mia email in modo piu' semplice, colgo l'occasione per chiederti un'altra cosa se posso, ho creato una macro, che fa questa azione: clicco sull'immagine a forma di freccia e avanza una numerazione, fin quando la uso dal computer tutto ok, ma quando provo a cliccare quell'immagine/bottone dal tablet, non funziona, come mai ? devo settare qualcosa affinchè possa usare le macro anche dal tablet ?
@_MagicMike
3 жыл бұрын
@@InstantSharing Ciao, considerando che hai apportato modifiche a te utili e funzionanti allo script direi che non sei proprio a 0 :) Se ti interessa approfondire l'argomento ti suggerisco di dare un'occhiata al mio corso gratuito sul JavaScript Semplificato per il modo Google che trovi qui: kzitem.info/news/bejne/0n9sxa14kJFonZw Relativamente alla tua domanda, l'app di Google Sheet per i dispositivi mobile si comporta in modo diverso, ci sono delle funzionalità incompatibili. In tal caso ti suggerisco di provare ad inserire un combobox con voci selezionabili e gestire con il trigger onEdit() l'attivazione della funzione che desideri in base al cambio di selezione (anziché al click su un bottone). Non è sicuramente la stessa cosa di avere la comodità di un bottone tuttavia può essere una valida alternativa per sfruttare le funzionalità dei Fogli anche dall'app.
@tizianomiglio5770
2 жыл бұрын
Buongiorno, non ho mai usato lo script ho iniziato con te copiandolo, ma non mi manda la mail, non esce nessun errore nell'esecuzione, esce avviata e completata ma non manda la mail, grazie per la risposta
@_MagicMike
2 жыл бұрын
Ciao Tiziano, probabilmente l'esecuzione non sta entrando nel ciclo. Verifica se effettivamente le date di scadenza nelle celle del Foglio sono scadute rispetto alla data odierna o sono scritte nel formato corretto.
@tizianomiglio5770
2 жыл бұрын
@@_MagicMike Il formato è data (devo mettere automatico?) e come date per prova ho messo 13/10/2021, ma il risultato è sempre esecuzione avviata ed esecuzione completata
@_MagicMike
2 жыл бұрын
@@tizianomiglio5770 prova a mettere un log, prima della condizione, per far visualizzare il contenuto delle variabili contenenti la data di oggi e quella della scadenza. In questo modo puoi vedere effettivamente cosa viene confrontato e in che formato.
@tizianomiglio5770
2 жыл бұрын
13:55:33 Notifica Esecuzione avviata 13:55:33 Informazioni Mon Oct 03 13:55:33 GMT+02:00 2022 13:55:33 Informazioni Mon Oct 03 13:55:33 GMT+02:00 2022 13:55:33 Informazioni Mon Oct 03 13:55:33 GMT+02:00 2022 13:55:33 Informazioni Mon Oct 03 13:55:33 GMT+02:00 2022 13:55:33 Notifica Esecuzione completata
@michelepisani80
2 жыл бұрын
@@tizianomiglio5770 ad occhio direi che ti sta solo considerando la data di oggi, probabilmente la variabile "cell_date" non è valorizzata con il dato che dovrebbe essere recuperato dal Foglio.
@emanuelememeo504
8 ай бұрын
Ciao, innanzitutto volevo complimentarmi per il video che è veramente chiaro e veloce. Ho 2 domande: 1) vorrei replicare la stessa cosa su excel di Office 365 (quindi non quello online). Si può fare? Se si, come? 2) Se volessi questo controllo ogni mattina in una determinata fascia oraria, affinchè lo script funzioni devo aprire quotidianamente il foglio excel oppure mi notifica in automatico le scadenze giornaliere senza aprire il file? Grazie anticipatamente, attendo tue. Mi risolveresti un sacco di problemi. Ti ringrazio
@_MagicMike
8 ай бұрын
Grazie Emanuele del feedback :) Per rispondere alle tue domande, permettendo che mi concentro sul mondo Google e non ho dimestichezza al momento con le macro di Microsoft, Excel utilizza il suo linguaggio che ovviamente non è lo stesso di quello mostrato nel video, non ho mai provato tuttavia presumo si possa fare. Per l'esecuzione automatica giornaliera, con Google Apps Script puoi utilizzare i trigger temporali per eseguire lo script in automatico tutte le mattine, su Microsoft non so se esiste questa opzione.
@emanuelememeo504
8 ай бұрын
@@_MagicMike va bene. Ti ringrazio. Un'ultima questione: se volessi procedere con i fogli di Google (come hai fatto tu) questi fogli li posso salvare su Google Drive? E, infine, affinchè lo script funzioni in automatico tutte le mattine, devo per forza aprire il foglio Google oppure alla fascia oraria prestabilita effettua il controllo in automatico e invia la mail se necessario? Ti ringrazio tanto per la celere risposta
@_MagicMike
8 ай бұрын
@@emanuelememeo504 i Fogli Google e i relativi script funzionano solo su Google Drive. Per l'altra domanda invece ti ho dato la risposta nel commento precedente 🙂
@emanuelememeo504
8 ай бұрын
@@_MagicMikeperfetto ho implementato il codice. Funziona. Però ho un errore. Non so come risolverlo o se influisce sul funzionamento a lungo termine "TypeError: Cannot read properties of undefined (reading '3') Potresti aiutarmi?
@_MagicMike
8 ай бұрын
@@emanuelememeo504quello è un errore bloccante, per cui o te lo dà nelle ultime istruzioni e il resto lo esegue oppure non funziona lo script perché da quel momento in poi l'esecuzione di ferma. Solitamente viene restituito quando si legge dà una variabile vuota.
@matteozaccagnino2168
2 жыл бұрын
Ciao Alessandro, ti chiedo un paio di consigli. 1 come rendo attivo lo script su un solo foglio di un documento che ne ha più di uno 2 come modifico lo script per mandare la mail sempre allo stesso indirizzo 3 come prendo cosa scrivere nella mail da una colonna
@_MagicMike
2 жыл бұрын
Ciao Matteo, mi chiamo Michele 🙈 La risposta alle domande che hai posto la puoi trovare guardando i miei video sul canale. In molti di questi mostro come riferirsi a un Foglio specifico e in moltissimi altri come leggere e scrivere i dati dalle celle (righe e/o colonne). Ti invito pertanto a fare un giro nel canale perché puoi trovare spunti molto interessanti sull'utilizzo di Apps Script. A quel punto capirai in modo autonomo come sarà semplice la risposta al tuo punto 2. Buona visione e buono studio, fammi sapere i risultati!
@matteozaccagnino2168
2 жыл бұрын
@@_MagicMike con la promessa di vedere non solo questi specifici, ma tutti, dato che ti reputo di estrema utilità e bravura, posso chiederti qualche video per questo argomenti data l'urgenza.
@_MagicMike
2 жыл бұрын
@@matteozaccagnino2168 in questo video ad esempio, preso dal corso gratuito di JavaScript Semplificato per il mondo Google, puoi trovare come riferirti ad uno specifico Foglio e alle celle in cui scrivere: kzitem.info/news/bejne/tKCC1YGjqqWUpZw Dalle domande che hai posto tuttavia, mi viene da pensare che non hai dimestichezza nel funzionamento di Google Apps Script. Il suggerimento pertanto è quello di capire prima quali sono le logiche del sistema ed effettuare semplici esercizi perché il rischio è quello di bloccarsi al prossimo 'ostacolo' e non realizzare qualcosa di completamente funzionante o allineato alle aspettative.
@silviabachetti7466
2 жыл бұрын
Ho una richiesta: come si ottiene la scadenza considerando anche l'ora? Qual è la fnzione che mi permette di indicare una scadenza con data e orario incluso?
@_MagicMike
2 жыл бұрын
Ciao Silvia, il costrutto _new Date()_ contiene già l'orario, hai provato a usare lo script dove nella colonna dedicata le celle contengono anche l'ora oltre alla data?
@ghezzia
2 жыл бұрын
Ciao Michele, complimenti per il tutorial e le guide, sono molto ben fatte. In relazione a questo specifico caso delle scadenze, non so per quale motivo, testando lo script il log non mi da nessun tipo di errore, ma allo stesso tempo non mi arriva la mail. Pensi ci sia qualche impostazione da fare a monte? Io sono dentro col mio account gmail privato e ho creato un google sheet praticamente uguale al tuo. Sapresti indicarmi dove sbaglio?
@_MagicMike
2 жыл бұрын
Ciao Alessandro, grazie del feedback! 🙂 Relativamente al tuo problema potrebbe trattarsi di una questione di permessi. Hai provato ad eseguire la funzione manualmente direttamente dall'editor per avviare il processo di autorizzazione? Fammi sapere!
@ghezzia
2 жыл бұрын
@@_MagicMike ciao Michele, grazie a te della tempestiva risposta. Il processo l’ho avviato proprio manualmente e infatti mi ha aperto la finestra di richiesta autorizzazione, che ovviamente ho dato. A valle di questo, nel monitor sottostante il codice, mi darebbe tutto compilato come se andasse tutto liscio, tuttavia la mail non la ricevo 🤔
@_MagicMike
2 жыл бұрын
@Alessandro Ghezzi se hai effettivamente date scadute nel Foglio Google e se nel codice dentro la condizione hai lasciato il Logger.log(), la riga di codice che nel video sta sotto quella per l'invio della mail, non dovresti visualizzare solo che è tutto completato ma dovresti vedere i dettagli riferiti alla riga con la data scaduta. Se queste informazioni non vengono visualizzate significa che il codice non entra nella condizione per cui, o non ci sono date scadute oppure c'è un problema nel riconoscimento della data. Prova ad inserire un Logger.log(expired) sopra la condizione e vedere se è sempre _false_ o se ci sono _true_
@ghezzia
2 жыл бұрын
@@_MagicMike Grazie di nuovo. Ho provato anche ad inserire appena sopra un Logger.log(expired), ma il monitor mi da sempre due azioni: Esecuzione Avviata Esecuzione terminata Senza evidenziare alcun errore... Ho comunque controllato in google sheet e le date sembrano formattate correttamente (o meglio ho proprio evidenziato le celle con le date ed ho scelto, del menù dei formati, "data".) Adesso provo a reimpostare il file da capo..
@ghezzia
2 жыл бұрын
Credo che sia un problema di codice legato al logger, perchè in effetti, nonostante io abbia inserito la riga del logger, non mi da alcuna informazione intermedia tra "esecuzione avviata" ed "esecusione terminata". Cosa che invece nel tuo video vedo appare
@xxseba06xx16
5 ай бұрын
Ottimo tutorial!!! Mi è tornato molto utile, pero non riesco a capire come fare se io dovessi mandare un messaggio prima della data di scadenza, per esempio se un'azienda avesse una scadenza il 25/05/2023, io vorrei mandare la mail di scadenza il 15/05/2023
@_MagicMike
5 ай бұрын
Ciao, grazie del feedback! Per ottenere il risultato desiderato è necessaria una funzione per il calcolo della differenza tra date. Prova a cercare in rete con le parole chiavi "javascript date diff" e integrare coscienziosamente il codice con gli esempi di funzioni trovate (dopo aver testato che funzionano).
@InstantSharing
3 жыл бұрын
scusa ho un'altro problema, gli attuatori non funzionano come mai ? gli ho detto che tutti i giorni alle 9 di mattina deve far partire lo script, pero' niente non parte, ovvero su l'attuatore mi dice che è stato eseguito ma non mi arriva l'email delle scadenze, se lo eseguo manualmente mi arrivano invece, con l'attuatore no, come mai ?
@_MagicMike
3 жыл бұрын
Hai verificato se l'esecuzione entra nel ciclo? Se non sbaglio dovresti aver applicato un adeguamento al codice per fare in modo che il contenuto di una cella di controllo si modifichi; questa modifica viene effettuata? Ovvero, non invia solo la mail oppure non vengono effettuate neanche le altre modifiche in automatico? Verifica queste cose per capire se entra nel ciclo o se c'è qualcosa che lo invalida. Verifica anche se compare qualche messaggio di errore nel pannello delle esecuzioni.
@InstantSharing
3 жыл бұрын
@@_MagicMike ho verificato ora, ed a quanto pare non entra nel ciclo, perchè oltre che inviare l'email dovrebbe anche modificare la cella con la scritta SCAD_UTO, al post della data come mi avevi consigliato tu nell'altro video, quindi niente l'attuatore non funziona non capisco perchè, manualmente se eseguo il codice funziona tutto, con l'attuatore no, e non mi da nessun errore sull'attuatore, ma devo aggiungere qualcosa nel codice per farlo funzionare con l'attuatore? ?
@_MagicMike
3 жыл бұрын
@@InstantSharing l'attivatore dovrebbe funzionare correttamente ed eseguire le operazioni della funzione. Il consiglio che ti do in questo caso è effettuare un debug. Potresti ad esempio creare un'altra funzione più semplice che effettua la scrittura del testo in una cella del Foglio, con la stessa struttura di codice che utilizzi nella funzione principale. Su questa funzione applica un attivatore che la esegue ad intervalli temporali più brevi, ad esempio ogni minuto o ogni 5 minuti, in modo da velocizzare i test, e verificare se la scrittura nel Foglio avviene. La stessa prova puoi farla con una funzione che effettua solo l'invio della mail. Ricordati poi di disattivare questi attivatori di test per evitare di saturare il tempo di esecuzione giornaliera degli script (anche se il consumo sarà minimo) e, nel secondo caso, che ti si intasi la casella di posta :)
@InstantSharing
3 жыл бұрын
@@_MagicMike ok grazie mille allora vedro' di fare questo debug, ma a proposito di esecuzioni, ma c'è un limite da parte di google su quante volte io possa eseguire uno script al mese ? Ho fatto il debug, non mi da nessun errore, ma quando con l'attivatore imposto l'altra funzione che ho registrato con la macro, che svolge una funzione semplice, mette in ordine alfabetico tutte le celle, manualmente funziona, ci ho creato anche un bottone, e funziona correttamente, ma quando lo uso con l'attivatore mi da questo errore:" Errore Se ordini i dati del modulo, devi includere tutte le colonne associate al modulo." mentre per l'invio dell'email niente nessun errore e dice che è stato eseguito ma non fa nulla
@_MagicMike
3 жыл бұрын
@@InstantSharing per i limiti ci sono delle quote sul tempo di esecuzione ed altre sulle caratteristiche degli strumenti ma sono legati all'attività giornalieri, non sono limiti mensili. Per quanto riguarda il tuo script mi viene da pensare che hai utilizzato metodi che richiedono un'azione utente, come ad esempio getActive(). Prova ad adeguare lo script inserendo dei metodi con riferimenti diretti, ovvero dove è definito il Foglio da considerare, il range da leggere, ecc...
@louisspadaire9022
3 жыл бұрын
Ottimo video ma come fare se voglio spedire mail se data scadenza = data oggi ? Il controllo expired salta scrivendo expired = today=cell_date ( non piu' true false ma diventa una data) - La funzione newdate mi ritorna data e anche orario e nella cella in cui scrivo solo data me la legge con orario 00:00 e quindi non sarà mai uguale. Come eliminare orario ?
@_MagicMike
3 жыл бұрын
Ciao LOUISE, grazie del feedback sul video 🙂 Per quanto riguarda il controllo di uguaglianza è necessario il doppio uguale (puoi trovare maggiori info nella video lezione sugli operatori del mio corso sul JavaScript Semplificato per Google: kzitem.info/news/bejne/mped13ygrJ16im0), altrimenti si tratta di un'assegnazione e anche in caso di corrispondenza rilevata lo script si può comportare in modo anomalo. Relativamente a rendere le date confrontabili (senza l'orario e nello stesso formato) puoi provare a sostituire la riga di interesse con questa: var expired = (today.toDateString() == new Date(cell_date).toDateString()); Fammi sapere 🙂
@louisspadaire9022
3 жыл бұрын
@@_MagicMike Sei veramente bravo e hai il dono della sintesi ma io con app script sono ai primi passi e quindi la mia domanda può sembrarti banale: ".toDateString() è una funzione ? Provo a fare semplice assegnazione var expired = today.toDateStrintg(); o quella che suggerisci tu ma mi segnala seguente errore TypeError: today.toDatestring is not a function - Forse non è sintassi corretta - Proverò a fare assegnazioni con substring che forse mi risolve qualcosa sulla base di esperienze con istruzioni simili con altri linguaggi. Oppure proverò a risoolvere l'uguaglianza all'interno del foglio usando una cella come variabile booleana. Grazie di tutto
@_MagicMike
3 жыл бұрын
@@louisspadaire9022 toDateString() è un metodo di JavaScript, quell'errore te lo dà perché lo hai scritto nel modo sbagliato (c'è una 't' di troppo) e non riconoscendolo come metodo il sistema crede che si tratti di una funzione. Utilizzando infatti il tuo codice di esempio ottengo lo stesso errore 👍 Ad ogni modo anche i metodi alternativi che hai proposto possono garantirti di ottenere il risultato desiderato 💪
@louisspadaire9022
3 жыл бұрын
Non sapevo che il metodo suggerito fosse javascript ( non conosco la sintassi). Grazie per i tuoi preziosi suggerimenti. Ci provo e ancora complimenti per la tua chiarezza nello spiegare gli argomenti
@v.p.1982
3 жыл бұрын
Ciao ho copiato il tuo script cambiando le posizioni dei dati nel foglio e il testo della mail da inviare, ma mi dà il seguente errore: "Exception: failed to send email:no recipient". Ho messo la mail nella colonna F e nella stringa il valore per la mail l'ho scritto cosi: "MailApp.sendEmail(values [n][5]......). Come mai non va?
@_MagicMike
3 жыл бұрын
Ciao V.P., quel tipo di errore viene restituito quando alla funzione è passato un valore vuoto. Verifica che nella colonna F siano valorizzate tutte le celle con un indirizzo email. Eliminerei anche quello spazio tra values e la parentesi quadra di apertura dell'array, potrebbe funzionare lo stesso ma è formalmente non corretto.
@v.p.1982
3 жыл бұрын
Ciao@@_MagicMike ho risolto. L'errore era causato dalla prima riga che avevo lasciato vuota. Solo che però mi invia una sola mail anche se le scadenze da notificare ne sono di più. Può dipendere dal fatto che alcune righe le lascio vuote?
@_MagicMike
3 жыл бұрын
@@v.p.1982 bene, mi fa piacere che tu sia riuscito a risolvere :) Per l'altro problema che hai descritto è probabile che possa dipendere da quello che dici. Il sistema esemplificativo del video non effettua il controlla sul contenuto cella, si aspetta che ci sia una data. Sicuramente un modo con il quale puoi toglierti il dubbio è inserire una data in tutte le celle della colonna per tutte le righe valorizzate, senza lasciare celle vuote. In alternativa potresti integrare il codice con un controllo sul contenuto della cella, se è vuota o se non contiene un dato di tipo data, passi alla riga successiva senza effettuare le altre operazioni previste.
@ernestomarino4907
2 ай бұрын
Se vuoi che ti dica bravo, te lo dico: bravo programmatore!. Questo video (x me è il secondo che vedo dei tuoi) altro non è che la pubblicità del formaggino Mio. Non lo ritengo un video di education, in quanto risulta difficile da seguire. Meglio se, per incentivare le persone a seguirti, (anche x i neofiti) nella descrizione ai piedi del video ci fosse il sorgente che hai inserito.
@_MagicMike
2 ай бұрын
Ciao Ernesto, se non riesci a seguire un video dove il codice viene scritto e descritto riga per riga, probabilmente ti mancano delle basi di programmazione che ti permettono di capire i passaggi. Hai bisogno di studiare prima il JavaScript e Apps Script, poi allenarti un po' e a quel punto approcciarti a script come quello del video. Avere il codice da copiare e incollare non lo definirei 'education' piuttosto pappa scodellata fine a sé stessa. Capisco la frustrazione, tuttavia se non capisci cosa fa il codice, il fatto che qualcosa possa funzionare solo per averlo copiato e incollato ti farà rimanere ugualmente un neofita. Piuttosto, prova a rivedere il video con un altro spirito, approfondisci in autonomia dove qualcosa non ti torna, scrivi un commento su qualcosa che hai provato e che non capisci anziché aspettarsi che gli altri facciano il lavoro per te, prova e riprova con impegno, senza fermati ai primi errori, e vedrai che i risultati arriveranno.
@thomaspaoloni
Ай бұрын
@@_MagicMike però non ha tutti i torti, avevo il Commodore Vic 20 quando compravo le riviste in edicola ed ero costretto a digitare i programmi in Basic stampati su carta, credo fosse il 1985, farlo oggi copiando da uno schermo è avvilente, non insegna niente, toglie solo tempo allo sviluppo vero. Quanto al tutorial è fatto bene e mi è piaciuto.
@pazzone1983
Жыл бұрын
Si può fare la stessa cosa con telegram?
@_MagicMike
Жыл бұрын
Ciao pazzone1983, dipende da come vuoi che il sistema interagisca con Telegram, ad ogni modo nel mio canale puoi trovare diversi video sui Bot di Telegram, c'è proprio una playlist, dove mostro come è possibile scrivere su Telegram da un Foglio Google 🙂
@ale27villa
Жыл бұрын
Ciao, è possibile creare una cosa di questo tipo con dei numeri whatsapp? Grazie!
@_MagicMike
Жыл бұрын
Ciao Alessandro, è possibile interagendo con le API di Whatsapp (developers.facebook.com/docs/whatsapp/on-premises/reference/messages/). In tal caso ovviamente al posto dell'email nel Foglio Google dovrà esserci il numero di telefono dell'utente. Si tratta comunque di un'integrazione decisamente più complessa di quella mostrata nel video dal momento che il servizio in questione non è di Google bensì di Facebook, pertanto richiede autenticazioni, verifiche e requisiti specifici.
@ale27villa
Жыл бұрын
@@_MagicMike Ah ok, per caso riusciresti a fare un video a riguardo? Mi sembra una cosa super interessante
@_MagicMike
Жыл бұрын
@@ale27villa è sicuramente qualcosa di utile e interessante che prevederò prossimamente di inserire in roadmap, per il momento se hai urgenza ti suggerisco di verificare se ci sono in rete tutorial non necessariamente video che possono darti le indicazioni per avviare il processo.
@ale27villa
Жыл бұрын
@@_MagicMike Ti ringrazio! Gentilissimo :)
@danielecostanzo5702
Жыл бұрын
Ciao, grazie per il video. mi chiedevo se ci fosse la possibilità di adattare questo metodo per inviare mail automatiche per mandare messaggi d'auguri per il compleanno
@_MagicMike
Жыл бұрын
Ciao Daniele, grazie per il feedback 🙂 Certamente è possibile adattarlo all'esigenza che hai descritto, il funzionamento è lo stesso descritto nel video, basterà modificare il messaggio da inviare. Se invece sei interessato ad un messaggio più strutturato, ad esempio in formato HTML (con immagini ed altre formattazioni), ho realizzato nel canale altri video dove mostro come procedere, di conseguenza il codice mostrato nel video potrà essere adattato 🙂
@coversongmania
Жыл бұрын
Complimenti veramente bravo. Ma si può inserire un numero whatsapp
@_MagicMike
Жыл бұрын
Grazie del feedback e del commento! 🙂 WhatsApp di solito fornisce l'API solo ad aziende ben note, per cui Il problema WhatsApp non offre un'API pubblica. Puoi fare affidamento su servizi di terze parti che consentono di connettersi con il sistema, purtroppo però molti di questi non durano a lungo per questioni di policy con WhatsApp. Infatti i gateway più noti e affidabili, come ad esempio Zapier, non hanno al momento un'integrazione con WhatsApp.
@nicolazanchi7092
2 жыл бұрын
buongiorno mi dà Errore Exception: Invalid argument myFunction @ codice.gs:8 ed il cursore si posiziona tra il punto dopo MailApp e sendEmail
Пікірлер: 182