Condividi:        

Invio email con excel in automatico

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

Invio email con excel in automatico

Postdi Zagor57 » 05/05/15 11:57

Buongiorno a tutti,
Prima di accedere al forum ho visto varie discussioni ma non sono riuscito a capire esattamente come fare .
Con excel ho costruito un programmino Fidelity CARD su misura per me,adesso vorrei inviare delle mail a determinati utenti es. ( chi non fa acquisti da gg xx a gg xx date variabili ) il foglio di lavoro da dove estrappolare le mail è nominato " Hompage " mentre le colonne per la scelta delle date sono:( colonna" da " D268 colonna "A" F268 ) mentre dalla ( riga 271 alla riga 320 ) i seguenti dati: alla colonna( "D" l'email ( alla colonna ("E" il Nome) alla colonna ("F" cognome )e nella colonna ("H" i giorni di ritardo)
C'e qualcuno che potrebbe dirmi esattamente cosa devo fare per in viare le mail semplicemente pigiando un tasto?
Premesso che non sono per niente un esperto ma....,mi diverto ad imparare cose un pò complicate per me.
grazie a tutti
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Sponsor
 

Re: Invio email con excel in automatico

Postdi wallace&gromit » 06/05/15 08:13

sei finito nella sezione sbagliata del forum, vediamo se un amministratore ti sposta oppure riformula la domanda, magari già allegando quello che hai, che penso sia indispensabile per aiutarti.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Invio email con excel in automatico

Postdi hydra » 06/05/15 08:16

Sposto da OT
Avatar utente
hydra
Moderatore
 
Post: 7007
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis

Re: Invio email con excel in automatico

Postdi Zagor57 » 06/05/15 09:56

Chiedo scusa
è la prima volta che posto nel forum comunque grazie per la collaborazione
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Anthony47 » 06/05/15 14:00

Ciao Zagor57, benvenuto nel forum.
Come gia' suggerito da w&g se alleghi un file di esempio, con dati fittizi ma struttura vera, possiamo essere piu' precisi.
Per come fare guarda qui: viewtopic.php?f=26&t=103893&p=605487#p605487 Il servizio piu' semplice da usare e' quello su filedropper.com.

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

Re: Invio email con excel in automatico

Postdi Zagor57 » 06/05/15 17:38

Grazie Anthony
il link è il seguente
http://www.filedropper.com/fidelitybiessecard11
Spero vivamente mi possiate aiutare
ancora grazie
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Anthony47 » 07/05/15 22:15

Il file allegato non consente i capire la struttura dei dati, in particolare dove si trova l' elenco dei nominativ e se si tratta gia' dell' elenco dei "ritardatari" o e' l' elenco generale.
Assumero' pertanto che l' elenco sia gia' filtrato con l' elenco dei ritardatari e che si trova da riga 271 in avanti, fino a trovare in colonna F un vuoto.
Useremo lo scheletro della macro InvioEmail che abbiamo spesso usato nelle nostre risposte, ad esempio qui: viewtopic.php?f=26&t=104590#p610230
Adattandolo al tuo tracciato otterremo questa versione:
Codice: Seleziona tutto
Sub Invioemail22()
Dim OutApp As Object, I As Long
Dim OutMail As Object, OutFile As String
Dim EmailAddr As String
Dim Subj As String
Dim BDT As String
'  (a)
Set OutApp = CreateObject("Outlook.Application")
For I = 271 To 10000            'In realta' usciremo prima di arrivare a 10k...
    If Cells(I, "F").Value = "" Then Exit For
    If InStr(1, Cells(I, "D").Value, "@", vbTextCompare) > 0 Then                 'Indirizzo presente
        'compilazione di un testo standard di accompagnamento
        BDT = "Caro/a " & Cells(I, "G").Value & ", " & vbCrLf               '<<<"
        BDT = BDT & Sheets("QualeFoglio").Range("CellaConMessaggio")        '<<<
        BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf                     '<<<
        BDT = BDT & "Il tuo negozio"                                        '<<<
        ''  (b)
        OutFile = "C:\pippo\peppo.pdf"                                      '<<< L' eventuale allegato
        EmailAddr = Cells(I, "D").Value                                     'Indirizzo email
        Subj = "Offerta speciale per te"                                    '<<< Oggetto della mail
        '
        Set OutMail = OutApp.CreateItem(0)
        With OutMail
        .to = EmailAddr
        .CC = ""
        .BCC = ""
        .Subject = Subj
        .Attachments.Add OutFile                                            '<<< Allega l' allegato
        .Body = BDT
'        .Display 'or use .send
        .send
        End With
        Application.Wait (Now + TimeValue("0:00:02"))
        '  (c)
        Set OutMail = Nothing
        '
    End If
Next I
'  (d)
Set OutApp = Nothing
'
End Sub
Mi pare di capire che sai come inserirlo nel tuo file e poi associarla a un pulsante o altra forma nel tuo foglio di lavoro.
Le istruzioni marcate <<< sono quelle che devi personalizzare
Ti suggerisco di provare usando solo indirizzi tuoi, magari dopo aver impostato Outlook per su non inviare automaticamente le mail.

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

Re: Invio email con excel in automatico

Postdi Zagor57 » 09/05/15 17:24

Bingooo!! Centrato nel segno Anthony
Adesso devo trovare il modi di:
Perchè le mail vengono parchecciate
alla riga (BDT = "Caro/a " & Cells(I, "G").Value & ", " & vbCrLf) devo associare nome e cognome
non ho capito bene come allegare un file
ma tutto questo voglio provare a cercare nelle varie discussioni,ne ho visto trattate diverse
per adesso ci voglio provare se non ci riesco richierderò di nuovo il tuo aiuto
grazie mille per adesso
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Anthony47 » 11/05/15 01:05

Se hai bisogno siamo qua...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Invio email con excel in automatico

Postdi Zagor57 » 13/05/15 08:50

:lol: :lol: :lol: :idea: Grazie Anthony47 Tutto risolto,il fatto che mi parcheggiava la mail in bozza era legato al fatto che effettuavo le prove,inviavo la mail con windows server 2012, ma non importa se è dovuto a impostazioni tanto non verrà inviata dal server la mail, ma da Client con windows 7 che non mi da il problema
grazie per l'aiuto
:?: credi sia possibile fare altrettanto con whatsapp naturalmente installando l'APP
Fammi sapere
Ancora grazie
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Anthony47 » 13/05/15 22:34

Per WhatsApp non conosco nessuna integrazione con Office; che non significa non esiste.

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

Re: Invio email con excel in automatico

Postdi Zagor57 » 14/05/15 11:46

E...... SE VOLESSI FARLO CON SMS ?
Per me sarebbe uguale
Ciao
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Anthony47 » 14/05/15 14:34

Se cerchi su google "email to sms" avrai qualche suggerimento; ad esempio (sono i primi link del risultato della mia ricerca, non ho fatto ne' sono in grado di fare una verifica di affidabilita' /convenienza delle soluzioni proposte):
https://www.smshosting.it/it/invio-sms-da-email
http://www.subitosms.it/sms_email_gateway
http://www.email.it/sms/
http://www.smsglobal.com/email-to-sms/

Per WhatsApp credo la cosa sia meno facile perche' mi risulta che WhatsApp ha diffidato terze parti da sviluppare interfacce per la loro piattaforma

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

Re: Invio email con excel in automatico

Postdi Zagor57 » 14/05/15 19:41

Bene Anthony47
Vorrei provare ad utilizzare l'inio delle SMS con SubitoSMS
come mi hai proposto
quello che segue è la Macro adattata alle mie esigenze, che tu mi hai fatto per l'invio della mail ,
riferimenti di celle sono già impostati per l'inoltro dell' sms, potresti per favore correggermi la Macro per l'invio delle SMS? :?:

Grazie
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Zagor57 » 14/05/15 19:42

Codice: Seleziona tutto
Sub SMSAmico()
        MsgBox " Avvia  Outlook per l'invio dell'SMS"
    Dim myOutlook As Object
    Dim myMailItem As Object
    variabileEmailDelDestinatario = [E29] 'E29 N°telefono per l'SMS
    If variabileEmailDelDestinatario = "" Then Exit Sub
    'Dim TestoEmail As String
            BDT = BDT & vbCrLf & "Caro/a   " & [E22] & " ,       " & [E23] & vbCrLf   'compilazione di un testo standard di accompagnamento
            BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & vbCrLf & "Grazie per averci Consigliati al sig. " & " ,     " & [E9] & ",      " & [E10] & vbCrLf 'legge nella riga E9-E10
            BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & vbCrLf & " Siamo lieti di accreditarle 2 Punti fedeltà sulla sua scheda  " & vbCrLf   '<<<<< Testo
            BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & vbCrLf & " Ti Aspettiamo " & vbCrLf   '<<<<< Testo
            BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf                     '<<<
            BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & "Tuo Fai da TE"   '<<<<< Testo
    If [E29] = "@" Then Exit Sub  ' verifica disponibilità Numero Telefono
    MsgBox "Invio SMS al/alla Sig.   " & [E22] & ",      " & [E23]  'Messaggio Nome del cliente che ha presentato
    Set otlApp = CreateObject("Outlook.Application")
    Set otlNewMail = otlApp.CreateItem(olMailItem)
     With otlNewMail
    .To = variabileEmailDelDestinatario
    .Subject = [D20] '"OGGETTO DEL MESSAGGIO"
    .Body = BDT 'TestoEmail
    .Display
    .Send
     
    End With
    End Sub
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Anthony47 » 15/05/15 00:50

Devi adattare la mail a quanto richiesto dal gestore del servizio...
In particolare
Codice: Seleziona tutto
EmailAddr = Range("E29").Value & "@invia.subitosms.it"
Codice: Seleziona tutto
.Subject = "TuoUserName TuaPassword"

Suggerirei anche di modificare il testo affinche' sia piu' aderente allo standard sms (160 crt per sms); ad esempio posizionando tutto il messaggio in una unica cella ed evitando tutta la serie di BDT = BDT & AltroTesto
Quanto alla riga
If [E29] = "@" Then Exit Sub ' verifica disponibilità Numero Telefono
non so cosa dire; pero' mi sembra strano che se non c' e' un numero di telefono nella cella qualcuno ci metta la "@"
Mi suonerebbe piu' logico
Codice: Seleziona tutto
If Range("E29") = "" Or Not IsNumeric(Range("E29").Value) Then Exit Sub
per cui quando la cella e' vuota o non e' numerica non si procede con l' Sms.
Quanto sopra dando per scontato che l' operazione e' da fare solo sulla cella E29...

Ti prego di usare il tag "Code" quando inserisci il codice di una macro, o una formula; migliora la leggibilita' del messaggio: selezioni il testo della macro o della formula, premi il tasto Code che trovi subito sopra il textbox in cui si scrive il messaggio.

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

Re: Invio email con excel in automatico

Postdi Zagor57 » 16/05/15 09:18

Ok in tutto Anthony
Grazie al tuo aiuto ho fatto qualcosa di inpensabile per me

Alla prossima
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Zagor57 » 04/06/15 19:20

Ciao Anthony47
in riferimento all'invio della mail in automatico vorrei arricchirla di nuove funzioni esattamente: con la macro che Tu mi hai costruito
Codice: Seleziona tutto
 Sub EmaiLritirapremio()
 MsgBox " Avvia la messaggistica  Outlook per l'inviodella mail"
    Dim OutApp As Object, i As Long
    Dim OutMail As Object, OutFile As String
    Dim EmailAddr As String
    Dim Subj As String
    Dim BDT As String
    '  (a)
    Set OutApp = CreateObject("Outlook.Application")
    For i = 14 To 100   'In realta' usciremo prima di arrivare a 10k...
        If Cells(i, "AQ").Value = "" Then Exit For
        If InStr(1, Cells(i, "AP").Value, "@", vbTextCompare) > 0 Then 'Indirizzo presente in cella AP
            BDT = "Caro   " & Cells(i, "AM").Value & (",    ") & Cells(i, "AN") & (",   ") & ("Siamo lieti comunicarti che hai raggiunto  ") & (",   ") & Cells(i, "AO") & ("   Punti   ") & (",   ") & ("raggiungendo cosi il premio N°   ") & Cells(i, "AR") & (",  pari ad €uro  ") & Cells(i, "AS")   'compilazione di un testo standard di accompagnamento
            'BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & Sheets("Hompage").Range("AU25")       '<<<
            BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & vbCrLf & " Ti Aspettiamo " & vbCrLf
            BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf                     '<<<
            'BDT = BDT & vbCrLf & "   " & vbCrLf
            'BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & " Il Tuo Fai da TE"                                        '<<<
            '  (b)
            'OutFile = "C:\Users\Administrator\Desktop "  '<<< L' eventuale allegato
            EmailAddr = Cells(i, "AP").Value  'Indirizzo email
            Subj = Range("AN8").Value '<<< Oggetto della mail cella AN8
            '
            Set OutMail = OutApp.CreateItem(0)
            With OutMail
            .To = EmailAddr
            .CC = " "
            '.BCC = ""
            .Subject = Subj
            '.Attachments.Add OutFile    '<<< Allega l' allegato
            .Body = BDT
            '.Display 'or use .send
            .Send
           
            End With
            Application.Wait (Now + TimeValue("0:00:04"))
            Application.SendKeys "%a"
            'Application.Wait (Now + TimeValue("0:00:04"))
            '  (c)
            Set OutMail = Nothing
            '
           
        End If
    Next i
    '  (d)
    Set OutApp = Nothing
    '
     MsgBox " Invio mail Terminato "
    End Sub


quando invia la mail , nella colonna ( AT partendo dalla riga 14 ) mi scrive " Email inviata al sig. ( come stringa a seguire ) "
Codice: Seleziona tutto
BDT = "  " & Cells(i, "AM").Value & (",    ") & Cells(i, "AN")

il giorno ("data oggi()")

Le funzioni che vorrei inserire sono:
Che la mail intanto deve inviarsi a condizione che nelle celle ("AN10 E AO10 " )ci sia un determinato valore numerico, e che detto valore possa essere variato dall'operatore in qualsiasi momento.

Per evitare che accidentalmente si possa inviare un'altra mail a distanza di pochi giorni ,faccia un controllo sulla differenza di giorni che andremo ad inserire nella Cella ("AL12").


Ancora una cosa ( Forse non possibile )
Se il cliente (Cells(i, "AM").Value & (", ") & Cells(i, "AN") non esiste più,

di poter inviare una mail ignorando il controllo sulla data, Solo al cliente che nel frattempo si è aggiunto alla nuova lista ?????

Ti ringrazio
Ciao
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Re: Invio email con excel in automatico

Postdi Anthony47 » 05/06/15 00:41

Eh, questo e' un forum dove si danno delle dritte piu' o meno vaghe e piu' o meno corrette, non soluzioni chiavi in mano personalizzate man mano che viene l'appetito....
Cio' detto:
Il codice gia' contiene un If che determina se si procede o meno: If InStr(1, Cells(i, "AP").Value, "@", vbTextCompare) > 0 Then
Devi arrichire l' If con ulteriori condizioni; es
Codice: Seleziona tutto
If InStr(1, Cells(i, "AP").Value, "@", vbTextCompare) > 0 And (Now - Cells(i, "AT").Value)>5 Then   

(controlla che rispetto alla data segnata in ATxx siano passati >5 giorni)

Prova e se ti areni siamo qui.

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

Re: Invio email con excel in automatico

Postdi Zagor57 » 10/06/15 19:49

Buonasera Antony
Grazie a:
Eh, questo e' un forum dove si danno delle dritte piu' o meno vaghe e piu' o meno corrette, non soluzioni chiavi in mano personalizzate

Mi sono impegnamo un tantino in più ,e questa e la macro completa .
però non mi sembra che funzioni del tutto,mi spigo:mi aggiorna solo il primo nominativo trovato e poi niente si chiude l'aggiornamento lasciando invariati eventuali altri nominativi o data che sia
potresti darmi delle dritte??

Codice: Seleziona tutto
Sub EmaiLritirapremio()
 MsgBox " Avvia la messaggistica  Outlook per l'inviodella mail"
    Dim OutApp As Object, i As Long
    Dim OutMail As Object, OutFile As String
    Dim EmailAddr As String
    Dim Subj As String
    Dim BDT As String
    '  (a)
        Set OutApp = CreateObject("Outlook.Application")
    For i = 14 To 100
        If Cells(i, "AP").Value = "" Then Exit For
        If Cells(i, "AM").Value = Cells(i, "AT") Then Exit For
        Cells(i, "AT") = Cells(i, "AM").Value & ("- ") & Cells(i, "AN")
        Cells(i, "AU") = Date
        If InStr(1, Cells(i, "AP").Value, "@", vbTextCompare) > 0 Then   'And (Now - Cells(i, "AU").Value) > ("AL12") Then 'Indirizzo presente in cella D
            BDT = "Caro/a   " & Cells(i, "AM").Value & (",    ") & Cells(i, "AN") & (",   ") & ("Siamo lieti comunicarti che hai raggiunto  ") & (",   ") & Cells(i, "AO") & ("   Punti   ") & (",   ") & ("raggiungendo cosi il premio N°   ") & Cells(i, "AR") & (",  pari ad €uro  ") & Cells(i, "AS") 'compilazione di un testo standard di accompagnamento
            BDT = BDT & Sheets("Hompage").Range("az4") '<<<
            BDT = BDT & vbCrLf & "   " & vbCrLf
            BDT = BDT & vbCrLf & " Ti Aspettiamo " & vbCrLf
            BDT = BDT & vbCrLf & "Cordiali saluti" & vbCrLf                     '<<<
            BDT = BDT & "BI ESSE legnami Il Tuo Fai da TE"
        '  (b)
        'OutFile = "C:\Users\Administrator\Desktop "  '<<< L' eventuale allegato
            EmailAddr = Cells(i, "AP").Value   'Indirizzo email
            '
            Subj = Range("AN8").Value 'Oggetto:nella cella AN8 '"Offerta speciale per te"                                   '<<< Oggetto della mail
            '
            Set OutMail = OutApp.CreateItem(0)
            With OutMail
            .To = EmailAddr
            .CC = ""
            '.BCC = ""
            .Subject = Subj
            '.Attachments.Add OutFile                                        '<<< Allega l' allegato
            .Body = BDT
            '.Display 'or use .send
            .Send
            End With
            Application.Wait (Now + TimeValue("0:00:08"))
            Application.SendKeys "%a"
        '  (c)
            Set OutMail = Nothing
            '
                   
        End If
    Next i
    '  (d)
    Set OutApp = Nothing
    '
    MsgBox " Fine invio mail"
    'End If
    End Sub


come sempre
GRAZIE
Ciao
Avatar utente
Zagor57
Utente Junior
 
Post: 75
Iscritto il: 04/05/15 19:35
Località: Massafra TA

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Invio email con excel in automatico":

Password Imap (email)
Autore: lukarello7
Forum: Discussioni
Risposte: 8

Chi c’è in linea

Visitano il forum: Nessuno e 75 ospiti

cron