Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Inviare un avviso di scadenza tramite mail

Ultimo Aggiornamento: 31/12/2018 14:38
Post: 28
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
24/03/2017 11:44

Ciao a tutti. avrei la necessità di essere avvisato con una mail alla scadenza di un dato evento con una mail.
Ovviamente io ho impostato la data in cui devo essere avvisato.
Nel file ho anche differenziato l'anticipo di invio.
Sarebbe carino che la mail riportasse anche il motivo dell'invio...per es. "Scadenza mutuo" etc.
Se qualcuno può darmi una mano.
Grazie anticipatamente.
Post: 2.989
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/03/2017 13:23

Ciao Roberto

Dal tuo file elimina tutte le celle unite e che la colonna delle scadenze sia la C e prova questa macro.

vb
Sub Inviamail()
Dim OutlookApp As Outlook.Application
    Dim MItem As Object
    Dim Recipient As String, Subj As String
    Dim Msg As String
    Dim rng As Range
    Dim cel As Range
    Dim ur As Long
    ur = Cells(Rows.Count, "c").End(xlUp).Row
    Set rng = Range("c6:c" & ur)
    On Error Resume Next
    Recipient = "TuoIndirizzomail"
    Subj = "Avviso Scadenza"
    Msg = "Avviso scadenza"
    For Each cel In rng
        If Date - cel.Value = cel.Offset(0, -2).Value Then
            Set OutlookApp = New Outlook.Application
            Set MItem = OutlookApp.CreateItem(olMailItem)
            With MItem
              .To = Recipient
              .Subject = Subj
              .Body = cel.Offset(0, -1).Value
              .Display
              '.Send
            End With
        End If
    Next cel
    Set OutlookApp = Nothing
End Sub


Nell'editor di VBA va attivata la libreria di Microsoft Outlook 15.0

Alfredo
Post: 28
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
24/03/2017 14:23

Ciao Alfredo
Grazie mille per l'aiuto.
Ho copiato la macro dentro il modulo 1.
Tutto ok.
Come da tuo consiglio, ho cercato di attivare la libreria di Microsoft Outlook 15.0.
Ho dato un'occhiata dentro i vari menù di VBA.
Son sincero. Non ci sono riuscito.
Potresti specificarmi dove si trova questa funzione ?
Grazie mille ancora.
Post: 2.990
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/03/2017 14:27

Nell'editor di VBA Strumenti, Riferimenti e nella finestra che ti si apre scorri l'elenco fino a trovare Microsoft Outlook 15.0, spunta la casella e dai Ok.

N.B. il 15.0 potrebbe cambiare in relazione alla versione di Office che hai.

Alfredo
Post: 29
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
24/03/2017 14:38

Perfetto ! Trovata e aggiunto flag....mi da Outlook 14.0 non credo ci siano problemi.

Domande....
1) se non erro, questa macro dovrebbe inviare la mail 2 giorni prima

If Date - cel.Value = cel.Offset(0, -2).Value

Se così fosse, per inviare la mail con date anticipate differenti è possibile ?
Ed è possibile inserire nella mail in oggetto il testo che ho scritto nella cella B6 per es.?

2) La macro si attiva automaticamente quando apro il file senza fare nulla ?

Grazie mille
Post: 2.991
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/03/2017 14:54

1) La macro invia la mail se la differenza tra la data odierna è la scadenza (colonna C) è uguale al valore contenuto in colonna A.

2) Se vari i valori in colonna A la mail viene inviata se soddisfatta la condizione di cui sopra.

3) Per eseguire là macro all'apertura del file basta mettere il codice in ThisWokbook_Open.

Alfredo
Post: 30
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
24/03/2017 15:27

Grazie Alfredo.
I punti 1 e 2 mi sono chiari.
Non mi è chiaro il punto 3.

Così com'è quando, al verificarsi di quale condizione la mail verrebbe inviata ? Accensione pc ?

Per l'invio se il foglio è aperto non mi è chiaro dove andar a variare la condizione che mi hai suggerito " basta mettere il codice in ThisWokbook_Open "

Grazie
Post: 2.993
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/03/2017 15:41

Fai così

1) vai nell'editor di VBA con ALT+F11
2) Nella finestra di progetto in alto a sinistra fai doppio clic su Questa_cartella_di_lavoro

e copia nella finestra in alto a destra questo codice

vb
Private Sub Workbook_Open()
Dim OutlookApp As Outlook.Application
    Dim MItem As Object
    Dim Recipient As String, Subj As String
    Dim Msg As String
    Dim rng As Range
    Dim cel As Range
    Dim ur As Long
    ur = Cells(Rows.Count, "c").End(xlUp).Row
    Set rng = Range("c6:c" & ur)
    On Error Resume Next
    Recipient = "TuoIndirizzomail"
    Subj = "Avviso Scadenza"
    Msg = "Avviso scadenza"
    For Each cel In rng
        If Date - cel.Value = cel.Offset(0, -2).Value Then
            Set OutlookApp = New Outlook.Application
            Set MItem = OutlookApp.CreateItem(olMailItem)
            With MItem
              .To = Recipient
              .Subject = Subj
              .Body = cel.Offset(0, -1).Value
              .Display
              '.Send
            End With
        End If
    Next cel
    Set OutlookApp = Nothing
End Sub



Alfredo
Post: 31
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
24/03/2017 15:47

Ok Alfredo.
Eseguito tutto.
Ora collaudo. Un saluto e alla prossima
Grazie mille [SM=x423028]
Buona giornata
Post: 2.994
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/03/2017 15:50

Ok Roberto.

Attualmente la macro ti fa vedere l'anteprima della mail;

Se vuoi inviarla nel codice devi mettere l'apostrofo davanti a .Display e toglierlo a .Send

e, ovviamente, inserire il vero indirizzo mail.

P.S. Prendi in considerazione la possibilità di eseguire la macro con un clic su un pulsante/forma piuttosto che lanciarla automaticamente all'apertura del file perché sennò ogni volta che apri il file verrà eseguita.

Comunque valuta tu.
[Modificato da alfrimpa 24/03/2017 15:55]

Alfredo
Post: 32
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
24/03/2017 16:03

Grazie mille Alfredo.
Ho eseguito la variazione dell'apostrofo.
Ora provo così.
Eventualmente creo un pulsante e gli associo la macro.
Grazie mille
Roberto
Post: 33
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
24/03/2017 16:14

[SM=x423017]
Alfredo ho provato e mi è arrivata la mail all'apertura del file excel [SM=x423026]
Grazie mille veramente.
Roberto
Post: 34
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
27/03/2017 15:24

Ciao Alfredo.
Per non preoccuparmi di aprire il file, sarebbe possibile attivare la mail alla sola accensione del pc senza dover aprire il file ?
Questa esigenza perchè farei usare il file anche ad una collega dell'Amministrazione, così una volta segnata la data dell'evento non dovrebbe più preoccuparsi di aprire il file. La mail arriverebbe sicuramente.
Speriamo si possa.
Grazie mille [SM=g27811]
Roberto
Post: 3.004
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
27/03/2017 15:56

Ciao Roberto

Con la sola accensione del pc non puoi farlo devi comunque accendere il pc e lanciare Excel

Per aprire automaticamente una cartella di lavoro all'apertura di Excel guarda qui

https://support.office.com/it-it/article/Personalizzare-l-avvio-di-Excel-6509b9af-2cc8-4fb6-9ef5-cf5f1d292c19

Alfredo
Post: 35
Registrato il: 23/01/2017
Città: BRENDOLA
Età: 54
Utente Junior
Excel 2010
OFFLINE
27/03/2017 17:26

Grazie mille Alfredo.
Penso sia già sufficiente così.
Grazie ancora.
Buona giornata
Roberto
Post: 0
Registrato il: 12/11/2018
Città: FOSSALTA DI PORTOGRUARO
Età: 58
Utente Junior
2017
OFFLINE
12/11/2018 14:18

inviare avvisi di scadenza via email
Ciao a tutti, ho provato la macro del invio email, pero mi da errore
alla prima riga, errore compilazione.Tipo definito dal utente non definito
[Modificato da flavio(1966) 12/11/2018 14:21]
Post: 1.990
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
12/11/2018 17:31

Leggi bene il post n. 2 alla fine

saluti



Domenico
Win 10 - Excel 2016
Post: 2
Registrato il: 12/04/2012
Città: BAGHERIA
Età: 54
Utente Junior
versione 15.0
OFFLINE
13/11/2018 14:24

buongiorno a tutti, ottima routine ma come potrei fare ad inviare la mail invece che a "TuoIndirizzomail" all'indirizzo che vado a scrivere direttamente nella colonna D?
Grazie per il vostro aiuto. [SM=x423028]
Post: 733
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
14/11/2018 01:14

Se è una sola cella ci metti il suo riferimento tipo RANGE("D2") mentre se devi scorrere l'intera colonna D devi anche implementare nella macro un ciclo For/Next o un Do/While.
[Modificato da rollis13 14/11/2018 01:15]

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 3
Registrato il: 12/04/2012
Città: BAGHERIA
Età: 54
Utente Junior
versione 15.0
OFFLINE
14/11/2018 10:53

grazie
Post: 0
Registrato il: 30/12/2018
Utente Junior
14.7
OFFLINE
30/12/2018 23:17

Re:
alfrimpa, 27/03/2017 15.56:

Ciao Roberto

Con la sola accensione del pc non puoi farlo devi comunque accendere il pc e lanciare Excel

Per aprire automaticamente una cartella di lavoro all'apertura di Excel guarda qui

https://support.office.com/it-it/article/Personalizzare-l-avvio-di-Excel-6509b9af-2cc8-4fb6-9ef5-cf5f1d292c19


Buona sera,

Chiedo scusa,chiedevo se potevate postare un modulo di esempio excel con la macro inserita, non riesco proprio a farlo funzionare.
Grazie in anticipo.

Post: 4.041
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
31/12/2018 12:25

@elettrimic

Apri una nuova discussione allegando un file di esempio e spiega quello che vuoi fare.

Alfredo
Post: 2
Registrato il: 30/12/2018
Utente Junior
14.7
OFFLINE
31/12/2018 14:38

Re:
alfrimpa, 31/12/2018 12.25:

@elettrimic

Apri una nuova discussione allegando un file di esempio e spiega quello che vuoi fare.




Grazie Alfredo del consiglio, ho avviato una nuova discussione QUI
[Modificato da elettrimic 31/12/2018 14:43]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 06:59. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com