Macro excel per invio email automatico
Inviato: mar lug 23, 2013 8:28 am
Ho seguito il consiglio di un altro utente e mi sono iscritto...
Riporto, pari pari, il mio post (come topgun9) che avevo aperto su altro forum dove non avevo ricevuto grandi aiuti...spero di aver maggior sostegno!
ho la necessità di creare una macro per automatizzare l'invio delle email al verificarsi di una determinata condizione.
Devo lavorare su un file excel così strutturato:
Colonna F: contiene la data di validità di un documento
Colonna G: status della validità (contiene una condizione che restituisce "SCADUTO" O "VALIDO" a seconda della data)
Colonna H: contiene indirizzo email
Se sulle righe della colonna G compare la stringa "SCADUTO" la macro deve inviare una email all'indirizzo corrispondente in H
Ho creato questa macro di partenza:
Sub email()
Dim myOutlook As Object
Dim myMailItem As Object
variabileEmailDelDestinatario = [H2]
Dim TestoEmail As String
TestoEmail = [M1]
If [G2] <> "SCADUTO" Then Exit Sub
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
'fName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
With otlNewMail
.to = variabileEmailDelDestinatario
.Subject = "Attenzione: DURC scaduto"
.body = TestoEmail
.Display
.send
End With
End Sub
Dim myOutlook As Object
Dim myMailItem As Object
variabileEmailDelDestinatario = [H2]
Dim TestoEmail As String
TestoEmail = [M1]
If [G2] <> "SCADUTO" Then Exit Sub
Set otlApp = CreateObject("Outlook.Application")
Set otlNewMail = otlApp.CreateItem(olMailItem)
'fName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
With otlNewMail
.to = variabileEmailDelDestinatario
.Subject = "Attenzione: DURC scaduto"
.body = TestoEmail
.Display
.send
End With
End Sub
La macro funziona perfettamente (già testata)...ma ovviamente solo per la prima riga!
Non so come chiedere alla macro di analizzare tutta la colonna G e, laddove trovi "scaduto", inviare la email all'indirizzo corrispondente.
Ho fatto diversi tentativi, ho letto altri topic sparsi sul web ma, non conoscendo a fondo VBA, a parte un mal di testa lancinante non ho risolto il problema.
Grazie per l'aiuto!