Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Generare mail su condizione in Excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Generare mail su condizione in Excel

Postdi mp2424 » 26/07/17 08:30

Ciao a tutti,
sono nuovissimo su questo forum, ho provato a cercare questo argomento su questo forum, ho provato ad applicare ciò che ho trovato al mio caso ma non sono riuscito nel mio intento.
vi spiego il mio problema e cosa mi servirebbe.
Allora io ho un foglio di lavoro in Excel, con una colonna di celle, nelle quali compare la scritta SCADENZA se appunto c'è una scadenza per la manutenzione.
mi servirebbe una macro in modo che se in una di queste celle D11:D21 compare la scritta SCADENZA, mandi automaticamente tramite Outlook una mail a uno o più destinatari con un testo che inserisco io di default.
è possibile tutto ciò? non sono molto pratico di VBA e macro.
grazie a tutti.
ciaooooooooooooooooo
mp2424
Newbie
 
Post: 2
Iscritto il: 26/07/17 08:25

Sponsor
 

Re: Generare mail su condizione in Excel

Postdi mp2424 » 26/07/17 09:03

Ragazzi rettifico, diciamo che ho trovato il codice.. ho solo due problemi:
1)il controllo lo riesco a fare solo su una cella singola, invece dovrei farlo su una colonna di celle
2) se faccio il run in VBA mi manda la mail, altrimenti se cambia solo il valore non manda nessuna mail, come faccio ad automatizzare?
vi allego il codice
Codice: Seleziona tutto
Sub invia_Email_microsoft_outlook_usando_VBA()
Dim myOutlook As Object
Dim myMailItem As Object
Dim TestoEmail As String
If [C11] <> "SCADENZA" Then Exit Sub
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
fName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
With otlNewMail
.to = "email@email.it"
.Subject = "SCADENZA"
.body = "SCADENZA MANUTENZIONE"
.send
End With
End Sub
mp2424
Newbie
 
Post: 2
Iscritto il: 26/07/17 08:25

Re: Generare mail su condizione in Excel

Postdi Anthony47 » 26/07/17 23:57

Con questa versione esaminerai l'intervallo "C3:C100" (che puoi impostare nel codice) alla ricerca della voce "Scadenza" e invierai tante email quante sono le scadenze.
Codice: Seleziona tutto
Sub invia_Email_microsoft_outlook_usando_VBA()
Dim myOutlook As Object
Dim otlNewMail As Object
Dim TestoEmail As String, Scad As Range
'
Set myOutlook = CreateObject("Outlook.Application")
'
For Each Scad In Range("C3:C100")           '<<< L'area con le "Scadenze"
    If Scad.Value = "SCADENZA" Then
        Set otlNewMail = myOutlook.CreateItem(0)
    '    fName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name   '???
        With otlNewMail
            .to = "email@email.it"
            .Subject = "SCADENZA"
            .body = "SCADENZA MANUTENZIONE"
            .send
        End With
    End If
Application.Wait (Now + TimeValue("0:00:01"))
Next Scad
Set myOutlook = Nothing
Set otlNewMail = Nothing
End Sub

Purtroppo non hai detto nulla su dove prendere il destinatario, ne' come inserire nel corpo o nel Subject della mail un riferimento utile a inquadrare la scadenza.

Inoltre non hai spiegato come pensi di evitare che domani una scadenza gia' segnalata oggi venga risegnalata. Questo dipende dal vostro processo organizzativo; io al massimo posso fare in modo che la macro segni, in una colonna libera, la data di invio di una mail ed eviti che una seconda mail sia inviata per la stessa Scadenza prima di N giorni.

Quanto all'ipotesi che le mail partano senza la volonta' esplicita dell'utente, si puo' fare usando una macro di WorksheetChange (se l'azione che porta a una Scadenza genera questo evento); oppure con una macro di Workbook_Open, oppure N volte al giorno usando una macro "On Time".

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17648
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Generare mail su condizione in Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti