Domenico ha un foglio di lavoro che mostra le date di scadenza per i progetti nella colonna E. Sa che può usare la formattazione condizionale per mostrare quando viene raggiunta la data di scadenza (quando è la stessa della data odierna), ma ciò di cui ha veramente bisogno è un’e-mail da inviare al raggiungimento della data di scadenza. Si chiede se esista un modo per farlo in Excel.
In realtà, c’è un modo per farlo, a patto che non ti dispiaccia usare una macro.
Ecco, ad esempio, una macro che verrà eseguita ogni volta che si apre la cartella di lavoro. Essa controlla automaticamente ogni riga in un foglio di lavoro, digitando in particolare due cose: la data di scadenza nella colonna E e un “valore flag” nella colonna F (questo valore flag è impostato dalla macro. Se la colonna F contiene la lettera “S”, la macro presuppone che sia stata precedentemente inviata un’e-mail).
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Alcuni punti di attenzione:
- La macro funziona se utilizzi Microsoft Outlook come client di posta.
- La macro deve trovarsi nel modulo Questa_cartella_di_lavoro della cartella di lavoro.
- La macro presuppone che sia presente un solo foglio di lavoro nella cartella di lavoro oppure che il foglio di lavoro applicabile sia sempre il foglio attivo quando la cartella di lavoro viene aperta.
- La macro presuppone che la colonna C abbia il maggior numero di righe.
Quando la macro viene eseguita (quando la cartella di lavoro viene aperta), controlla ogni riga del foglio di lavoro per vedere se c’è una “S” nella colonna F. In caso contrario, controlla se la data nella colonna E è uguale alla data odierna. Se lo è, allora il codice compone un messaggio di posta elettronica (che puoi modificare, a tuo piacimento) da inviare. L’e-mail viene visualizzata ed è possibile fare clic sul pulsante Invia dopo aver apportato le modifiche desiderate. A quel punto si aggiorna il foglio di lavoro posizionando l’indicatore “S” nella colonna F e la data di invio della mail nella colonna G.
Tieni presente che la macro presuppone che il nome del progetto sia nella colonna B. Queste informazioni vengono utilizzate per mettere insieme il messaggio che verrà inviato tramite posta elettronica.
In alternativa puoi utilizzare la seguente macro che prepara le email pianificate utilizzando il client predefinito (Outlook, Gmail o altri) che è impostato su Windows.
Il protocollo mailto può preparare un’e-mail ma solo l’app client può inviarla.
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Questa macro dovrebbe trovarsi in un modulo standard ma può essere richiamata dalla procedura evento Workbook_Open. Si presuppone che la cartella di lavoro attiva includa un foglio di lavoro denominato ScheduleEmail che non deve necessariamente essere il foglio di lavoro attivo ma deve avere la struttura illustrata qua sotto.