Valutazione 4.87/ 5 (100.00%) 5838 voti

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 sprinterone » 19/09/10 20:10

Salve a tutti, vorrei riallacciarmi al post.
Sarei interessato a questa macro, con le condizioni simili alla prima richiesta: in base al valore "0" di una cella e la presenza di un nominativo in un'altra.
in pratica: se nel foglio "archivio" nella cella cella A4 e' presente il "nome cliente" e nella cella F4 vi e' valore "0", allora puo'partire la mail.
Sub Invioemail()
'
' Invioemail Macro
If abs(Range("archivio")F4.Value = 0 Then
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String

EmailAddr = "email@email.com"
Subj = Range("A4").Value
End If

BodyText = ""
For RR = 1 To 33
For CC = 3 To 6
If Cells(RR, 3).Value = "" Then GoTo avanti
BodyText = BodyText & Cells(RR, 3).Value & " "
avanti:
BodyText = BodyText & vbCrLf
Next RR

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
.To = EmailAddr
.CC = ""
.BCC = ""
.Subject = Subj
.Body = BodyText
'.Attachments.Add ActiveWorkbook.FullName
.Display
.SendKeys ("%(s)"), True
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub

questa e' la macro creata cercando di seguire tutta la discussione , ma gia' mi da' errore sulla prima riga
If abs(Range("archivio")F4.Value = 0 Then
. Un aiutino ?
purtroppo mi sono perso con tutte quelle vostre aggiunte e modifiche strada facendo, e non vedendo la macro definitiva....sono in panne.
Grazie
Giancarlo
Avatar utente
sprinterone
Utente Junior
 
Post: 51
Iscritto il: 26/01/10 10:24
Località: Monselice

Sponsor
 

Re: EXCEL - creazione macro per invio automatico email

Postdi ricky53 » 19/09/10 23:34

Ciao,
io al posto di
If abs(Range("archivio")F4.Value = 0 Then

avrei scritto:
Codice: Seleziona tutto
If Sheets("Archivio").Range("A4") <> "" And Sheets("Archivio").Range("F4") = 0 Then
.....

Perchè hai utilizzato la funzione "ABS" ???
C'è un motivo particolare ???

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 19/09/10 23:46

ABS comunque non dava fastidio, era la sintassi dell' istruzione alquanto avventurosa.
E siccome e' sbagliato anche la posizione dell' End If io (tutta la macro deve essere eseguita solo If...) io userei direttamente
Codice: Seleziona tutto
If Sheets("Archivio").Range("A4") = "" Or Sheets("Archivio").Range("F4") <> 0 Then Exit Sub
eliminando quell' End If subito in testa alla macro.
In questo modo la macro termina, senza esecuzione del codice che invia l' email, se A4 contine niente o se F4 contiene qualcosa diverso da zero.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi sprinterone » 22/09/10 12:10

Grazie Anthony per l'aiuto. Ho modificato
If Sheets("Archivio").Range("A4") = "" Or Sheets("Archivio").Range("F4") <> 0 Then Exit Sub
invertendo i range , in quanto se F4 risulta uguale a "0" e in A4 c'e' il nome cliente, posso far partire la mail di sollecito.
Come posso inserire l'indirizzo mail del cliente "A4" come destinatario ,sfruttando una lista presente in altro foglio denominato "cliente" nella celle F2:F10?
posto la macro:
' Invioemail Macro
If Sheets("Archivio").Range("F4") <> "" And Sheets("Archivio").Range("A4") = 0 Then Exit Sub
Dim OutApp As Object
Dim OutMail As Object
Dim EmailAddr As String
Dim Subj As String
Dim BodyText As String

EmailAddr = "pippo@pippo.it"
Subj = Range("A4").Value

BodyText = TestoEmail
TestoEmail = ""
For RR = 1 To 33
TestoEmail = TestoEmail & Cells(RR, 3).Value & vbCrLf
avanti:
BodyText = BodyText & vbCrLf
Next RR

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
.To = EmailAddr
.CC = ""
.BCC = ""
.Subject = "sollecito di pagamento"
.Body = BodyText
'.Attachments.Add ActiveWorkbook.FullName
.Display
.SendKeys ("%(s)"), True
End With

Set OutMail = Nothing
Set OutApp = Nothing

End Sub
Come risultato, si apre Outlook ma non vedo il testo nel body della mail e mi da' errore runtime 438.
Potresti darmi una mano?
P.S. per d_cirrotti, non e' che per caso potresti postare la macro finale (ovviamente alleggerita di dati sensibili)per illuminare me e altri possibili interessati ? thanks
Giancarlo
Avatar utente
sprinterone
Utente Junior
 
Post: 51
Iscritto il: 26/01/10 10:24
Località: Monselice

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 27/09/10 01:02

Se questa macro ti da' errore, non usarla e usane una che e' stata suggerita nelle nostre discussioni.

In ogn caso non capisco la frase "Come posso inserire l'indirizzo mail del cliente "A4" come destinatario ,sfruttando una lista presente in altro foglio denominato "cliente" nella celle F2:F10?", visto tra l' altro che nella macro A4 contiene il Subject e non un indirizzo.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi ricky53 » 27/09/10 09:19

Ciao,
sarebbe meglio che tu spiegassi con maggiore chiarezza le tue necessità per evitare di avere soluzioni non rispondenti alle tue esigenze.
Comunque provo ad interpretare quanto da te scritto:
tu hai un soggetto (in "A4") al quale inviare una e-mail tu vorresti "agganciare" in automatico lil suo indirizzo e-mail presente in F2:F10 ???

Se ho interpretato bene:
manca il legame tra il soggetto e l'indirizzo aggiungi una colonna in E2:E10 con i vari soggetti e poi con ... CERCA.VERT risolverai.

L'ho sparata o c'ho preso ???

Ciao da Ricky53
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL - creazione macro per invio automatico email

Postdi picchio2212 » 09/03/11 12:57

ragazzi io purtroppo non sono un programmatore ma vi chiedo un aiuto,
non so neppure come si apre VB figuriamoci se riesco a programmare..... :-(
dovrei fare un foglio excel dove nella linea A quindi range A1, A2, A3 etc... ci sono le e-mail da inviare, poi nella riga B l'oggetto e nella riga C il body della mail..... ora il tutto deve partire premendo un tasto creato sul foglio excel....
ho fatto delle prove ma non funziona nulla anche facendo copia incolla di alcune istruzione... una di queste mi da runtime '9' e manco so che cosa vuol dire.
mi potreste aiutare spiegnadomi?
thanks!
daniele
picchio2212
Newbie
 
Post: 4
Iscritto il: 22/02/11 16:26

Re: EXCEL - creazione macro per invio automatico email

Postdi picchio2212 » 09/03/11 12:59

ragazzi mi aiutate please?
picchio2212
Newbie
 
Post: 4
Iscritto il: 22/02/11 16:26

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 09/03/11 14:30

L' argomento e' stato sviscerato in alcune discussioni quali
viewtopic.php?f=26&t=88153
viewtopic.php?f=26&t=85263
viewtopic.php?f=26&t=62073

Non e' un' argomento semplice, tant' e' che ha ingannato anche persone abbastanza esperte.

L' utima volta che avevi scritto ti avevo chiesto " Su quale aspetto ti sei arenato?"; se il problema e' il Run time error 9, allora hai questo errore quando fai riferimento a un oggetto il cui nome non esiste o il cui indice e' superiore all' ultimo usato; es Sheets("FoglioMancante").Select ti provochera' questo errore.
Devi quindi esaminare l' istruzione in errore e dedurre quale delle parti non e' sintatticamente corretta.

Una macro sempre elaborata secondo le istruzioni spalmate nelle discussioni elencate sopra e' stata anche presentata qui: viewtopic.php?f=26&t=83835&start=20#p479791
Io ti suggerirei di partire da questa versione, sostituendo la prima parte
BDT = "Ti invio il risultato Portfolio per l'orientamento."
BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf
BDT = BDT & "Rea"
'' (b)
Nominat = Sheets("Scheda").Range("C5").Value
OutFile = "C:\ESITI\" & Nominat & "_ScrSh.jpg"
EmailAddr = Range("h5").Value
Subj = "Invio risultati questionario"

Con
Codice: Seleziona tutto
I=1
BDT = Cells(I,3).value
EmailAddr = Cells(I, 1).value
Subj = Cells(I, 2).Value

Ed eliminado poi la riga .Attachments.Add OutFile

Cosi' dovresti mandare la mail usando destinatario, oggetto e corpo contenuti su riga 1.
Quando funziona inseriremo il tutto in un ciclo Fo I=1 to XYZ / Next I

Ciao, fai sapere dove arrivi.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi picchio2212 » 09/03/11 14:57

grazie ho risolto cosi:

Private Sub CommandButton1_Click()

On Error GoTo errore

Dim i As Integer
Dim continuaInvio As Boolean
Dim testoDaInviare As String
Dim dirPubblica As String

continuaInvio = True

testoDaInviare = ActiveSheet.Range("TESTO").Text
dirPubblica = ActiveSheet.Range("CARTELLAPUBBLICA").Text

testoDaInviare = Replace(testoDaInviare, "$NOMECARTELLAPUBBLICA", dirPubblica)

For i = 2 To 2000

If (continuaInvio) Then

Call invia_mail(ActiveSheet.Range("A" & i).Text, ActiveSheet.Range("OGGETTO").Text, testoDaInviare)

continuaInvio = Trim(ActiveSheet.Range("A" & (i + 1)).Text) <> ""
End If
Next i

errore:
MsgBox (Err.Description)
End Sub

pare che funziona.... molto gentile... thanks!!!!!!!
daniele
picchio2212
Newbie
 
Post: 4
Iscritto il: 22/02/11 16:26

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 10/03/11 00:53

Sarei interessato al codice della macro "invia_mail"...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi scufe » 12/05/11 12:16

Ciao a tutti..avrei un problema inernte a questo. Io dovrei creare un foglio excell per dei reclami ricevuti, nel quale per ogni riga c'è una una data in cui si riceve il reclamo (messa manualmente) e la data di fine/chiusura reclamo (che puo essere anche quella odierna, quindi deve aggiornarsi di giorno in giorno) e infine il nome del responsabile. Io vorrei che mettendo degli intervalli temporali (ad esempio: data odierna - data inizio = 13) il programma invii una mail al responsabile indicato nella cella. Vorrei pero che la mandasse a piu intervalli di tempo. Magari ogni tre giorni! Si riesce? Grazie a tutti e ciao!!
scufe
Newbie
 
Post: 8
Iscritto il: 12/05/11 12:07

Re: EXCEL - creazione macro per invio automatico email

Postdi scufe » 12/05/11 15:06

quindi??nessuno sa aiutarmi??
scufe
Newbie
 
Post: 8
Iscritto il: 12/05/11 12:07

Re: EXCEL - creazione macro per invio automatico email

Postdi ricky53 » 12/05/11 17:25

Ciao,
prima di tutto benvenuto nel nostro forum.

Se posso permettermi e sneza offesa da parte tua:

sono passate meno di tre ore dal tuo precedente intervento e tu subito ne fai un'altro: questo è un forum e non un servizio a pagamento per la soluzione di problemi con Excel.

Se non hai avuto risposte i motivi sono molti: ancora non è stato letto quanto hai scritto, chi l'ha letto non ha il tempo di risponderti, chi l'ha letto sta cercando una soluzione, ... quindi attendi ed avrai sicuramente delle risposte.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL - creazione macro per invio automatico email

Postdi scufe » 13/05/11 09:57

non volevo mettere fretta, solo che nn sopporto nn saper fare una cosa e dover dipendere da altri x risolverla..tranquillo cmq, nn mi offendo, e immagino benissimo che se nn ho ancora ricevuto risposta è per vari motivi..ad ogni modo rimango in attesa e se avrò risposte sarò molto contento..grazie cmq a tutti..ciao!
scufe
Newbie
 
Post: 8
Iscritto il: 12/05/11 12:07

Re: EXCEL - creazione macro per invio automatico email

Postdi ricky53 » 13/05/11 16:25

Ciao,
chiarito tutto.
Intant puoi invaire quello sul quale stati lavorando:
1. macro con spiegazione di cosa fai
2. immagine significativa del forglio con dati
3. un file di esempio
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL - creazione macro per invio automatico email

Postdi scufe » 25/05/11 08:24

Allora il punto è che io nn sono in grado di fare nulla, cioè nn saprei dove partire con questi programmi, quindi avrei bisogno dei file completi! In sostanza quello che vorrei fare è:
Una tabella di 5 colonne dove nella prima indico il numero progressivo di reclami, nella seconda la data di inizio del reclamo (quando lo si riceve), poi la data di fine reclamo (che sara vuota finche nn viene chiusa la pratica), nella quarta il nome del prodotto coinvolto, ed infine nella quinta il nome del responsabile.
Quindi dopo aver fatto quasta tabellina su excell, i cui dati verranno inseriti manualmente ad ogni reclamo ricevuto, il programma deve poi inviarmi delle mail (tramite outlook express) ai responsabili indicati nella quinta colonna. Le mail devono essere inviate ogni tre giorni dalla data di inizio, costantemente finche nn viene riempita la casella di data fine (fin a quel momento essendo vuota prende la data odierna); infine vorrei che la stassa mail che ogni tre giorni arriva al responsabile, arrivi anche ad altre due persone (i due capi) 12 giorni e 57 giorni dopo la data di inizio (come promemoria in pratica). Vi metto sotto un esempio della tabella.

RECLAMO DATA INIZIO DATA FINE PRODOTTO RESPONSABILE
1 01/05/2011 Pistone Mario Rossi
2 05/06/2011 Albero Luca Bianchi
3 22/06/2011 Iniettore Marco Verdi
4 10/07/2011 Pistone Andrea Rossitti
,,, ,,, ,,, ,,,
,,, ,,, ,,, ,,,
,,, ,,, ,,, ,,,

E' chiaro circa come vorrei fare??
Vi prego aiutatemi, io nn sono bravo con i programmi informatici, ma ho visto che voi si. Sarebbe troppo importante riuscire a farlo.
Vi ringrazio anticipatamente!
Ciao Simone
scufe
Newbie
 
Post: 8
Iscritto il: 12/05/11 12:07

Re: EXCEL - creazione macro per invio automatico email

Postdi Anthony47 » 25/05/11 13:46

Anche se in ritardo, benvenuto anche da parte mia.
Questa richiesta era arrivata in un momento di scarsa presenza da parte mia, si vede?
Comunque, l' argomento e' stato sviscerato nella discussione in cui ti sei inserito e in un altro paio (ad esempio viewtopic.php?f=26&t=85263&p=485355#p485355); adesso dovresti lavorare su quanto suggerito applicandolo alla tua struttura dati.
Il forum ti puo' supportare in passaggi specifici, qualche volenteroso potrebbe anche passarti un file funzionante (che poi corrisponde a un file contenente la macro listata qui: viewtopic.php?f=26&t=85263&start=20#p485473) ma la personalizzazione, il collaudo e la gestione non puoi che farla tu.

Insomma se non riesci ad attuare le indicazioni fin qui date, allora il mio suggerimento e' di appoggiarsi a un programmatore: non e' cattiveria, ma la coscienza che gestire un processo di business con un strumento che non governi non puo' che portare pessimi risultati.

Ti confermo comunque, se decidi di provarci da solo (cosa che io incoraggerei, se compatibile con i tempi di sviluppo), la disponibilita' a supportarti in specifiche situazioni su cui rimani "incagliato".

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - creazione macro per invio automatico email

Postdi ricky53 » 25/05/11 14:55

Ciao,
il benvenuto anche da parte mia insieme alla mia disponibilità a fornirti supporto per arrivare ad un risultato valido, visto che sono stato io quello che ha posto il quesito del link di Anthony e, con il suo aiuto, l'ho risolto.

A presto
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL - creazione macro per invio automatico email

Postdi fabiopalla » 04/08/11 11:26

Buongiorno,
ringrazio per l'attenzione e, eventualmente, per l'aiuto.
Questo il fatto:
ho un file con diverse colonne e svariate righe.
Vorrei, dato un certo range di data (si tratta di consegne scadute), far si che excel raggruppasse le righe aventi lo stesso indirizzo mail, e le inviasse come promemoria tramite lotus notes ai vari indirizzi .
Purtroppo sono solo un utilizzatore di excel e conosco un po le macro, ma qui credo serva una formula da inserire in qualche modo da qualche parte.

Sareste in grado di aiutarmi?

Ringrazio in anticipo

Fabio
fabiopalla
Newbie
 
Post: 2
Iscritto il: 04/08/11 11:15

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 10 ospiti