Ciao Fabio e benvenuto nel Forum
no, no, non formula ma macro...
Ciao
Moderatori: Anthony47, Flash30005
Sub Invioemail()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim EmailAddr2 As String
Dim Subj As String
Dim BodyText As String
UE = Worksheets("Scheda").Range("A" & Rows.Count).End(xlUp).Row
' (a)
Set OutApp = CreateObject("Outlook.Application")
For IE = 2 To UE '<<<< spostare qui dopo aver settato OutApp
''compilazione di un testo standard di accompagnamento
BDT = BDT & vbCrLf & "Inseriti numero pacchi: " & Range("d" & IE).Value
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "Firma"
'' (b)
Nominat = Sheets("Scheda").Range("b1").Value
'OutFile = Range("e" & IE).Value
EmailAddr = Range("a" & IE).Value
EmailAddr2 = Range("b" & IE).Value
Subj = Range("c" & IE).Value
'
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = EmailAddr2
.BCC = ""
.Subject = Subj
.Body = BDT
.Display 'or use .send
'.SendKeys("%(i)")
'.Attachments.Add OutFile
End With
Application.Wait (Now + TimeValue("0:00:05")) '<<< spostare qui
Application.SendKeys "%i" '<<< spostare qui
Application.Wait (Now + TimeValue("0:00:05")) '<<< spostare qui
' (c)
Set OutMail = Nothing
Next IE '<<< spostare qui
'
' (d)
Set OutApp = Nothing
End Sub
''compilazione di un testo standard di accompagnamento
BDT = "" '<<<<<
BDT = BDT & vbCrLf & "Inseriti numero pacchi: " & Range("d" & IE).Value
Sub Invioemail()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim EmailAddr2 As String
Dim Subj As String
Dim BodyText As String
UE = Worksheets("Scheda").Range("A" & Rows.Count).End(xlUp).Row
' (a)
Set OutApp = CreateObject("Outlook.Application")
For IE = 2 To UE '<<<< spostare qui dopo aver settato OutApp
''compilazione di un testo standard di accompagnamento
BDT = "" '<<<<<
BDT = BDT & vbCrLf & "Numero ricotte in armadio giacenti: " & Range("d" & IE).Value
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "per conto della Cica cica Boom Boom"
'' (b)
Nominat = Sheets("Scheda").Range("b1").Value
'OutFile = Range("e" & IE).Value
EmailAddr = Range("a" & IE).Value
EmailAddr2 = Range("b" & IE).Value
Subj = Range("c" & IE).Value
'
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = EmailAddr
.CC = EmailAddr2
.BCC = ""
.Subject = Subj
.Body = BDT
.Display 'or use .send
'.SendKeys("%(i)")
'.Attachments.Add OutFile
End With
Application.Wait (Now + TimeValue("0:00:07")) '<<< spostare qui
Application.SendKeys "%i" '<<< spostare qui
Application.Wait (Now + TimeValue("0:00:07")) '<<< spostare qui
' (c)
Set OutMail = Nothing
Next IE '<<< spostare qui
'
' (d)
Set OutApp = Nothing
End Sub
=SE(F2;A2;"")
EmailAddr = Range("G" & IE).Value '<<<MODIFICATA
If EmailAddr = "" then GoTo Nomail
NoMail:
Next IE
Sub Invia_Email_Ultima_Buona()
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String
Foglio1.Select
' RR contiene il nuemro di utenti cui inviare le e-mail (1 per utente)
RR = Range("E" & Rows.Count).End(xlUp).Row
' I dati iniziano dalla seconda riga
For I = 2 To RR
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
' La colonna "B" contiene gli indirizzi e-mail dei vari destinatari
.To = Cells(I, 5)
' La colonna "C" contiene l'indirizzo e-mail in "Copia per Conoscenza"
.CC = Cells(I, 6)
' Eventuale e-mail in "Copia per conoscenza nascosta"
.BCC = ""
' La colonna "D" contiene l'oggetto della e-mail
.Subject = Cells(I, 7)
' La colonna "E" contiene l testo della e-mail
.Body = Cells(I, 8)
' La colonna "F" contiene il percorso ove si trova il file da allegare
' La colonna "G" contiene il nome del file da allegare
.Attachments.Add (Cells(I, 9) & Cells(I, 10))
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
Application.SendKeys "%a"
Next I
End Sub
Anthony47 ha scritto:In linea di massima procedi come suggerito a biancocandido qualche giorno fa:
-in colonna F ti crei un flag che indica se quel certo utente ha una scadenza tra 10, 5, 3, 1 o 0 giorni
-in colonna G crei la lista delle email a cui inviare una mail
-segui le altre indicazioni date a biancocandido
Ciao
Anthony47 ha scritto:Non ho capito come vorresti inviare le email...
Comunque la macro che usi ha queste caratteristiche:
-elenco generico di destinatari in col A
-elenco dei destinatari in cc in col B
-elenco puntuale dei destinatari reali, calcolato in base al workflow dell' utente, ricreato in col G (che quindi contiene o la copia di col A o un vuoto)
-all' avvio della macro viene creato un "testo della mail" (BDT) che puo' comprendere testo fisso e testi variabili reperibili su una o piu' colonne della stessa riga.
-se in col G c' e' un indirizzo viene inviata una mail al destinatario scritto in col G e c.c. al destinatario di col B
-una mail per ogni cella compilata in col G, saltando le righe vuote.
Penso che con questi chiarimenti non dovresti avere difficolta' ad adattare il tuo file, che mi pare sia ancora in uno stadio prototipale e quindi di flessibilita' massima.
Ciao
Torna a Applicazioni Office Windows
Macro per aprire file salvato su sharepoint Onedrive Autore: marcopont |
Forum: Applicazioni Office Windows Risposte: 2 |
Come impostare il formato data predefinito in excel? Autore: wallace&gromit |
Forum: Applicazioni Office Windows Risposte: 5 |
Come interrompere macro sndPlaySound Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 2 |
Visitano il forum: Nessuno e 12 ospiti