Condividi:        

EXCEL - creazione macro per invio automatico email

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

Re: EXCEL - creazione macro per invio automatico email

Postdi Flash30005 » 04/08/11 13:47

Ciao Fabio e benvenuto nel Forum

no, no, non formula ma macro...

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: EXCEL - creazione macro per invio automatico email

Postdi fabiopalla » 04/08/11 13:48

ah quindi potrei fare una macro con la quale raggruppo le righe per fornitore.
fino a li ci sono arrivato...è di li in poi che le mie capacità crollano verticalmente :(
fabiopalla
Newbie
 
Post: 2
Iscritto il: 04/08/11 11:15

Re: EXCEL - creazione macro per invio automatico email

Postdi Flash30005 » 07/08/11 04:56

Oltre a spiegare con parole il tuo quesito (posizione degli indirizzi nel foglio, nome del foglio indirizzi, nome del foglio report.
Con l'invio di uno stralcio del file eviteresti molte spiegazioni che potrebbero anche non essere interpretate bene.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - creazione macro per invio automatico email

Postdi Flash30005 » 09/09/11 23:07

Ripesco questo post in quanto sembra non risolto.

Fabio ci aggiorni?

A che punto sei arrivato?

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - creazione macro per invio automatico email

Postdi mgwhy » 16/10/11 19:48

Buonasera,
sono nuovo del forum..e ho ben poca pratica con excel.. comunque un saluto a tutti!
ho un problema molto simile a quello sopraelencato, ho provato a leggere tutti i passaggi ma partendo da un livello di conoscenza un pò più basso faccio difficoltà ad applicare i vostri consigli.
Potreste aiutarmi a creare una procedura su excel che mi permetta l'invio automatico di una mail giornaliera ogni qualvolta la data di scadenza di un determinato prodotto (valore) si avvicina alla data odierna.
L'ideale sarebbe che giornalmente venga inviata (ad esempio all'apertura del file) una mail che riporti il codice o il nome dei prodotti che si avvicinano alla scadenza 1 mese prima 1 settimana prima e a data raggiunta.

Spero di essermi spiegato e vi ringrazio per l'aiuto!

Mgwhy
mgwhy
Newbie
 
Post: 2
Iscritto il: 16/10/11 19:34

Re: EXCEL - creazione macro per invio automatico email

Postdi Flash30005 » 16/10/11 22:44

Ciao Mgwhy e benvenuto nel Forum

Per avviare un programma (macro) di excel, giornalmente, ci sono diversi metodi
Uno di questi, che uso spesso, è di impostare un'azione pianificata di windows che, ad una certa ora, avvia un file di excel con all'interno la macro che provvede anche a chiudere l'applicazione

Per quanto riguarda la macro di invio email, come avrai potuto notare, ci sono diversi esempi e dovresti dirci quale di questi ti funziona con il tuo programma per le email (dipende anche dal programma che usi)
dopodiché dovresti definire meglio i giorni di differenza dalla data odierna perché come da te descritto le email sarebbero inviate tutti i giorni con tutti i codici-prodotto
in quanto ogni giorno la data scadenza si "avvicina" a quella attuale
Inoltre definire in quale colonna hai la data di controllo e in quale colonna c'è la descrizione del prodotto che vorresti inviare, nonché il nome del foglio e forse qualche altro dettaglio

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - creazione macro per invio automatico email

Postdi mgwhy » 17/10/11 11:21

Grazie per la risposta,

sul foglio excel in cui devo impostare questo procedimento ci sto ancora lavorando, quindi al momento non ho definito le colonne da utilizzare.
La mail dovrebbe partire solamente 1 mese esatto prima della scadenza poi 1 settimana prima ed il giorno stesso della scadenza.

come programma mail attualmente uso un servizio aziendale dedicato microsoft excange ma posso impostare outlook senza problemi (almeno spero visto che una volta lo utilizzavo).
Mi rendo conto che al momento il tutto è ancora vago ma volevo capire se il tutto è fattibile e provarci. Poi eventualmente se non ci riesco posso postare il procedimento con dati precisi (righe, colonne..)
Anche perchè ho appena iniziato ad utilizzare le macro e non sono neanche sicuro di eseguire il procedimento corretto.. :-?
Grazie ancora

mgwhy
mgwhy
Newbie
 
Post: 2
Iscritto il: 16/10/11 19:34

Re: EXCEL - creazione macro per invio automatico email

Postdi Flash30005 » 17/10/11 12:56

Non dovrebbero esserci problemi
in questo topic ci sono esempi validi per invio con MsOutlook
Fai delle prove di invio email (come riportato negli esempi)
Poi, quando avrai i dati distribuiti nel foglio, potremmo fare l'implementazione per adattarla alle tue esigenze

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL - creazione macro per invio automatico email

Postdi biancocandido55 » 09/02/12 10:39

Ciao ragazzi,
ho riuppato il topic in questione per non dover ripetere l'argomento,
ho preso questa macro e l'ho riadattata alle mie esigenze:
Codice: Seleziona tutto
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


l'unico errore che riscontro è che mi ripete il corpo lettera,
cioè la prima email in elenco è corretta
la 2ª email in elenco scrive 2 volte il corpo lettera
la 3ª email in elenco scrive 3 volte il corpo lettera
e così via, potete correggere la macro per ovviare a questo inconveniente
un abbraccio
bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 09/02/12 11:58

Inserisci l' istruzione marcata <<<
Codice: Seleziona tutto
''compilazione di un testo standard di accompagnamento
BDT = ""    '<<<<<
BDT = BDT & vbCrLf & "Inseriti numero pacchi:  " & Range("d" & IE).Value

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

Re: EXCEL - creazione macro per invio automatico email

Postdi biancocandido55 » 09/02/12 12:19

Ciao Anthony,
grazie per la correzione, tutto bene!
un abbraccio, alla prossima.
Ciaoooooooo
bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: EXCEL - creazione macro per invio automatico email

Postdi biancocandido55 » 29/02/12 13:37

Ciao ragazzi,
chiedo scusa se ho riuppato nuovamente il topic, ma ho pensato che dovendo migliorare la macro per la trasmissione di email tramite excel, non mi sembrava il caso di aprirne un nuovo, il foglio scheda per la trasmissione email è così formato:
COLONNA A : mail.to
COLONNA B : mail.cc
COLONNA C : subjcet
COLONNA D : numero
il primo indirizzo email parte dalla riga 2
e questa è la macro con tutte le correzioni e varianti che sto usando:

Codice: Seleziona tutto
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


la modifica che mi occorre è questa:
in COLONNA E ho inserito per ogni indirizzo una casella di controllo "di default" selezionata, non sò come collegarla alla macro,
la macro dovrebbe far partire solo le email degli indirizzi selezionati.
Ovvero se un indirizzo non è selezionato l'email non parte.
Come sempre vi ringrazio per l'aiuto,
un abbraccio
bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 29/02/12 22:37

In linea di massima:
-"colleghi" ogni checkbox alla cella di col F
-poi in col G, es da G2, usi la formula
Codice: Seleziona tutto
=SE(F2;A2;"")

In questo modo in col G hai solo gli indirizzi delle mail da inviare.
Nella macro calcolerai
Codice: Seleziona tutto
EmailAddr = Range("G" & IE).Value    '<<<MODIFICATA
If EmailAddr = "" then GoTo Nomail

L' etichetta Nomail la definirai subito prima di Next IE:
Codice: Seleziona tutto
NoMail:
Next IE


Il resto rimane invariato

Prova e fai sapere, ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19439
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi biancocandido55 » 01/03/12 08:53

--------------------------
Ciao Anthony :) :)

GRAZIE GRAZIE GRAZIE.................................................

corretta macro, tutto OK

un abbraccio

bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: EXCEL - creazione macro per invio automatico email

Postdi ahidai » 02/03/12 21:43

Un ciao a tutti, ho “copiato” questa macro dal forum e ho adattate le colonne secondo le mie esigenze:
Codice: Seleziona tutto
 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


Funziona perfettamente così com’è, solo che avrei bisogno di alcune modifiche, ho letto e riletto alcune discussioni e provato alcune macro, ma niente da fare, non ci ho capito niente…
Allora allego il file http://www.mediafire.com/?81510i9cnzc2c12 e quello che mi servirebbe è:
- l’invio delle e-mail in modo automatico 10 giorni; poi 5 giorni; poi 3; poi 1 giorno prima e alla data di scadenza di una pratica senza dover pigiare il pulsante di controllo;
- è possibile l’invio senza che mi apra Outlook 2007.

Grazie anticipatamente.
Ciao.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 02/03/12 23:50

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

Si potrebbe anche inviare email senza aprite Outlook, e ne abbiamo anche parlato qui: viewtopic.php?f=26&t=87487; poiche' e' facile arrivare all' invio di mail indesiderate preferisco non supportare utenti poco esperti a rischiare la sorte, e quelli esperti non hanno certo bisogno del mio aiuto...

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

Re: EXCEL - creazione macro per invio automatico email

Postdi ahidai » 03/03/12 18:58

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


Ciao Anthony e un ciao a tutti, ho provato e riprovato purtroppo non ci riesco a far partire da sola l'e-mail alla scadenza dei giorni, ho usato la macro di biancocandido ma niente da fare.
Chiedo gentilmente se qualcuno mi può risolvere il problema, io ci ho messo tanta buona volontà, ma purtroppo ho dei limiti.
Allego il file con cui ho riprovato: http://www.mediafire.com/?gomqh446zjfxnhi
Grazie anticipatamente e buon fine settimana a tutti.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 04/03/12 23:17

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
Avatar utente
Anthony47
Moderatore
 
Post: 19439
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi ahidai » 05/03/12 09:53

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


Ciao Anthony e grazie per la risposta, sicuramente è colpa mia nel senso che non sono riusciuto a spiegarmi, quindi cercherò di farlo adesso.
Allora, il funzionamento della macro l'ho capito, dove vanno i vari testi, indirizzi e-mail e il discorso della colonna "G e F".
Quello che mi servirebbe come ho detto nei post precedenti è che in colonna F mi creo un flag che indica se quel certo utente ha una scadenza tra 10, 5, 3, 1 o 0 giorni mi deve partire l'e-mail, ed ecco il punto, vorrei che mi partisse automaticamente e non devo essere io a farla partire.
Spero di essermi spiegato e ringrazio per la pazienza.
Ciao.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 05/03/12 15:15

Mi spiace, questa parte di automazione dovrai farla da solo, compreso la memorizzazione che un certo sollecito e' stato gia' inviato o meno; solo cosi potrai essere sicuro di non trasformare un servizio alle tue controparti in invio di mail a caso e indesiderate.

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

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - creazione macro per invio automatico email":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti

cron