Note: The other languages of the website are Google-translated. Back to English

Come inviare e-mail di massa personalizzate a un elenco da Excel tramite Outlook?

Ad esempio, ho il seguente intervallo di dati in un foglio di lavoro che contiene le colonne Nome, Indirizzo e-mail, Codice di registrazione e ora desidero inviare un messaggio con un saluto personalizzato e il proprio Codice di registrazione agli indirizzi e-mail separati nella colonna A. Per risolvere questo problema, i seguenti metodi potrebbero aiutarti.

doc invia email personalizzate 1

Invia email di massa personalizzate a un elenco da Excel con la funzione Stampa unione

Invia email di massa personalizzate a un elenco da Excel con codice VBA

Invia email di massa personalizzate a un elenco con allegati diversi utilizzando Kutools per Excel


freccia blu freccia destra Invia email di massa personalizzate a un elenco da Excel con la funzione Stampa unione

Con la parola Stampa unione funzione, puoi completare questo lavoro rapidamente e facilmente, per favore fai con il seguente passo dopo passo:

1. Avvia un nuovo documento di Word vuoto, quindi fai clic su Lettere > Seleziona i destinatari > Utilizzare un elenco esistente, vedi screenshot:

doc invia email personalizzate 2

2. Nel Seleziona origine dati scegliere la cartella di lavoro che include l'intervallo di dati che si desidera utilizzare e fare clic su Apri pulsante, vedi screenshot:

doc invia email personalizzate 3

3. In arrivo Seleziona tabella finestra di dialogo, scegli il foglio di lavoro con l'intervallo di dati necessario, quindi fai clic su OK pulsante, vedi screenshot:

doc invia email personalizzate 4

4. E il documento principale del messaggio di posta elettronica e il tuo elenco di indirizzi sono stati collegati insieme, ora puoi modificare il messaggio di testo e aggiungere segnaposto che indicano dove appariranno le informazioni univoche in ciascun messaggio.

(1.) Per inserire il nome del saluto individuale, fare clic su Lettere > Inserisci campo unione > Nome, il nome personalizzato è stato inserito nel messaggio e il nome del campo è circondato da «».

doc invia email personalizzate 5

(2.) Continua a digitare il tuo messaggio e inserisci il file Codice di registrazione nel posto in cui hai bisogno, vedi screenshot:

doc invia email personalizzate 6

5. Dopo aver composto il messaggio, puoi fare clic su Risultati di anteprima sotto il Mailing scheda per visualizzare in anteprima i messaggi di posta elettronica e apportare modifiche prima di completare effettivamente l'unione.

6. Dopo esserti assicurato che non ci siano problemi, puoi inviare le e-mail a destinatari separati, fai clic su Lettere > Termina e unisci > Invia messaggio di posta elettronica, vedi screenshot:

doc invia email personalizzate 7

7. Poi nel saltò fuori Unisci a e-mail finestra di dialogo, eseguire le seguenti operazioni:

(1.) Dal A elenco a discesa, scegli Indirizzo email colonna;

(2.) È possibile digitare l'oggetto nel file Oggetto casella di testo di riga;

(3.) Dal Invia record sezione, selezionare Tutte.

doc invia email personalizzate 8

8. E poi clicca OK, le e-mail vengono inviate a destinatari separati con il proprio codice di registrazione contemporaneamente, dopo aver inviato le e-mail, puoi andare al tuo Outlook per assicurarti che le e-mail siano state inviate con successo.


Invia e-mail personalizzate a più destinatari con allegati diversi:

Con Kutools for Excel's Inviare emails caratteristica, puoi inviare rapidamente e-mail personalizzate a più destinatari con diversi allegati da Excel tramite Outlook di cui hai bisogno. Allo stesso tempo, puoi anche inviare in CC o Ccn i messaggi a una persona specifica.       Scarica e prova gratuitamente Kutools per Excel ora!

doc invia email personalizzate 18 1


freccia blu freccia destra Invia email di massa personalizzate a un elenco da Excel con codice VBA

Ad eccezione della funzione Stampa unione, anche il seguente codice VBA può farti un favore, per favore fai come segue:

1. Tieni premuto il ALT + F11 chiavi e apre il file Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo Finestra.

Codice VBA: invia email di massa personalizzate a un elenco da Excel:

#If VBA7 And Win64 Then
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As LongPtr, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As LongPtr
#Else
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As Long, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As Long
#End If
Sub SendEMail()
'update by Extendoffice 20160506
    Dim xEmail As String
    Dim xSubj As String
    Dim xMsg As String
    Dim xURL As String
    Dim i As Integer
    Dim k As Double
    Dim xCell As Range
    Dim xRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count <> 3 Then
        MsgBox " Regional format error, please check", , "Kutools for Excel"
        Exit Sub
    End If
    For i = 1 To xRg.Rows.Count
'       Get the email address
        xEmail = xRg.Cells(i, 2)
'       Message subject
        xSubj = "Your Registration Code"
'       Compose the message
        xMsg = ""
        xMsg = xMsg & "Dear " & xRg.Cells(i, 1) & "," & vbCrLf & vbCrLf
        xMsg = xMsg & " This is your Registration Code "
        xMsg = xMsg & xRg.Cells(i, 3).Text & "." & vbCrLf & vbCrLf
        xMsg = xMsg & " please try it, and glad to get your feedback! " & vbCrLf
        xMsg = xMsg & "Skyyang"
'       Replace spaces with %20 (hex)
        xSubj = Application.WorksheetFunction.Substitute(xSubj, " ", "%20")
        xMsg = Application.WorksheetFunction.Substitute(xMsg, " ", "%20")
'       Replace carriage returns with %0D%0A (hex)
        xMsg = Application.WorksheetFunction.Substitute(xMsg, vbCrLf, "%0D%0A")
'       Create the URL
        xURL = "mailto:" & xEmail & "?subject=" & xSubj & "&body=" & xMsg
'       Execute the URL (start the email client)
        ShellExecute 0&, vbNullString, xURL, vbNullString, vbNullString, vbNormalFocus
'       Wait two seconds before sending keystrokes
        Application.Wait (Now + TimeValue("0:00:02"))
        Application.SendKeys "%s"
    Next
End Sub

3. Quindi premere F5 chiave per eseguire questo codice e verrà visualizzata una finestra di messaggio per ricordarti di selezionare l'intervallo di dati che desideri utilizzare, vedi screenshot:

doc invia email personalizzate 9

4. E poi clicca OK pulsante, le e-mail verranno inviate a indirizzi separati con il loro codice di registrazione individuale una per una, dopo aver inviato le e-mail, puoi andare su Outlook per assicurarti che le e-mail siano state inviate con successo.

Note:: Nel codice sopra, puoi modificare l'oggetto o il corpo del messaggio secondo le tue necessità.


freccia blu freccia destra Invia email di massa personalizzate a un elenco con allegati diversi utilizzando Kutools per Excel

Se si dispone di Kutools for Excel, Con la sua Inviare emails funzione, puoi inviare rapidamente e-mail personalizzate a più destinatari con allegati diversi di cui hai bisogno.

Kutools for Excel : con oltre 300 utili componenti aggiuntivi di Excel, da provare gratuitamente senza limitazioni in 30 giorni. 

Dopo l'installazione Kutools for Excel, per favore fai come questo:

1. Clic Kutools Plus > Inviare emails, vedi screenshot:

2. Nel Invia Emials finestra di dialogo, selezionare l'intervallo di dati che si desidera utilizzare, quindi specificare gli indirizzi del destinatario, gli allegati e l'oggetto di cui hai bisogno, vedi screenshot:

doc invia email personalizzate 9

3. Nella casella di modifica, inserisci i nomi dei singoli annunci, scegli Nome dall'elenco a discesa, quindi fare clic su Inserisci segnaposto per inserire i nomi nel messaggio, vedi screenshot:

doc invia email personalizzate 9

4. Quindi digita il corpo del messaggio nella casella di cui hai bisogno, vedi screenshot:

doc invia email personalizzate 9

5. Dopo aver terminato il corpo dell'e-mail, scegli la modalità di invio che desideri, puoi inviare utilizzando Outlook o il server specificato, vedi screesnhot:

doc invia email personalizzate 9

Note:: Se desideri utilizzare un altro server, fai clic su Impostazioni del server in uscita per impostare la modalità di invio in modo personalizzato, vedere screesnhot:

doc invia email personalizzate 9

6. Finalmente, clicca Invia pulsante per inviare le e-mail, dopo aver completato, verrà visualizzata una finestra di messaggio per ricordare lo stato dell'invio. vedi screesnhot:

doc invia email personalizzate 9

Fai clic su Scarica e prova gratuita Kutools per Excel ora!


Demo: invia messaggi di posta elettronica di massa personalizzati a un elenco da Excel tramite Outlook

Kutools for Excel: con più di 300 utili componenti aggiuntivi di Excel, liberi di provare senza limitazioni in 30 giorni. Scarica e prova gratuita ora!

Articolo correlato:

Come inviare e-mail a più destinatari in un elenco da Excel tramite Outlook?


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (47)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Questo codice ha funzionato molto bene, grazie mille. Ma ho solo un piccolo problema, sto cercando di cambiare il codice per predeterminare le celle che voglio prendere le email e inviarle perché il modo in cui ho creato il mio file excel. Vorrei cambiare la casella di selezione per una determinata matrice di celle. Esempio: la correzione di tutti i miei dati sarà compresa tra A2: C6, quindi quando eseguo la macro non è necessario selezionarla di nuovo. Grazie mille per tutto ciò che hai spiegato sopra
Questo commento è stato fatto dal moderatore sul sito
È possibile modificare il codice per allegare più file nell'e-mail? Sarebbe di grande aiuto. Grazie in anticipo.
Questo commento è stato fatto dal moderatore sul sito
è possibile aggiungere codice in modo che inserisca anche la mia normale firma e-mail? inoltre, quando seleziono il mio intervallo da inviare tramite e-mail, il mio foglio di calcolo Excel è filtrato, ma quando eseguo la macro, estrae comunque anche le righe nascoste.
Questo commento è stato fatto dal moderatore sul sito
Mi piacerebbe sapere anche di questo!
Questo commento è stato fatto dal moderatore sul sito
come aggiungere cc nel codice sopra
Questo commento è stato fatto dal moderatore sul sito
Ottimo modo

Ho solo bisogno di chiederti la possibilità di cambiare argomento ogni volta in base all'e-mail?
Questo commento è stato fatto dal moderatore sul sito
Ciao, Aziz,
Quando applichi Kutools per Excel, può aiutarti a inserire i soggetti in base ai valori della cella, devi solo selezionare l'intestazione della colonna dell'oggetto nella finestra di dialogo come mostrato nella seguente schermata:

Per favore, provalo, spero che possa aiutarti!
Questo commento è stato fatto dal moderatore sul sito
Ciao Skyyang,

Ho provato e provato a far apparire la mia firma e-mail ma non riesco proprio a farlo bene! Hai un po 'di codice che posso aggiungere per farlo accadere?
Questo commento è stato fatto dal moderatore sul sito
Madness post questo è, questo è falso e non credo a questo contenuto
Questo commento è stato fatto dal moderatore sul sito
Ciao amico,
questo è fantastico, ho bisogno di un aiuto, ho bisogno di allegare file pdf diversi a e-mail diverse ogni volta.
Qualcuno mi può aiutare per favore?
Questo commento è stato fatto dal moderatore sul sito
ciao Skyyang,
devo allegare diversi file pdf per ogni mail. potete aiutarmi per favore??
Questo commento è stato fatto dal moderatore sul sito
Ciao, Arvin,
I Kutools possono aiutarti ad aggiungere più allegati diversi durante l'invio di e-mail.
Per prima cosa dovresti inserire il percorso degli allegati nelle celle, quindi applicare il Kutools, visualizzare il seguente screenshot:
Spero che possa aiutarti, grazie!
Questo commento è stato fatto dal moderatore sul sito
ciao Skyyang,
ho usato il tuo codice qui sotto per inviare la posta e funziona perfettamente, c'è qualcosa che puoi aiutarmi a modificare nel codice per inviare allegati pdf insieme.
ho bisogno di inviare più di 100 e-mail, quindi è difficile allegare file ogni volta. Kutools funziona secondo il percorso specificato e invia automaticamente la posta?
Questo commento è stato fatto dal moderatore sul sito
Ciao,
potete aiutarmi con la funzione attachment.add? con il tuo codice VBA sopra ho bisogno di inviare l'allegato.
non posso usare Kutools :(
Questo commento è stato fatto dal moderatore sul sito
come fare a cc le persone in questo?
Questo commento è stato fatto dal moderatore sul sito
cosa succede se ho dati per molti clienti e alcuni clienti hanno più di 1 dato ... e non voglio inviare e-mail separate ai clienti, ma magari inviarlo in un formato tabulare nell'e-mail. Come posso inviare solo 1 email a un cliente.
Questo commento è stato fatto dal moderatore sul sito
Ciao Steven, hai trovato un modo per farlo. Possiamo aiutarti con un semplice portale web online
Questo commento è stato fatto dal moderatore sul sito
Ciao, hai risolto?
Questo commento è stato fatto dal moderatore sul sito
Voglio sapere come farlo. Puoi dirmi?
Questo commento è stato fatto dal moderatore sul sito
Grazie!!

Ma ho provato a fare il test e non viene inviato nulla all'email. Inoltre nessun messaggio di errore.. Posso sapere cosa è successo?
Questo commento è stato fatto dal moderatore sul sito
Ho un elenco di indirizzi e-mail in Excel a cui devo inviare e-mail L'oggetto e il corpo sono nelle celle oltre all'indirizzo e-mail e ho lo script qui sotto ma devo inviare 100 e-mail ogni 1 ora come posso soddisfare il tuo supporto

Sub InviaEm()
Dim i As Integer, Mail_Object, Email_Subject, o As Variant, lr As Long
lr = Celle(Righe.Conteggio, "A").End(xlSu).Riga
Imposta Mail_Object = CreateObject ("Outlook.Application")
Per i = 2 A lr
Con Mail_Object.CreateItem(o)
.Oggetto = Intervallo("B" & i).Valore
.To = Intervallo("A" & i).Valore

.Corpo = Intervallo("C" & i).Valore
.attachments.Add (Fogli("Foglio1").Intervallo("H" & i).Testo)
.attachments.Add (Fogli("Foglio1").Intervallo("I" & i).Testo)
.attachments.Add (Fogli("Foglio1").Intervallo("J" & i).Testo)
.attachments.Add (Fogli("Foglio1").Intervallo("K" & i).Testo)
.Spedire

'.display' disabilita la visualizzazione e abilita l'invio per inviare automaticamente
Fine Con
Avanti
MsgBox "E-mail inviata con successo", 64
Application.DisplayAlerts = False
Imposta Mail_Object = Niente
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao, hiba,
Il nostro Kutools for Excel's Invia e-mail può aiutarti a risolvere il tuo problema. Si prega di impostare le condizioni come mostrato nella seguente schermata:
Con questa funzione, puoi anche applicare la funzione CC, BCC e puoi anche inserire più allegati.
Questo commento è stato fatto dal moderatore sul sito
Ciao amministratore


apakah metode ini bisa di lakukan pada word 2007 soalnya saya coba lakukan di file pdf nya tdk terkirim .. terimakasih
Questo commento è stato fatto dal moderatore sul sito
Per qualche motivo questo codice lo ha dove invia ogni altra e-mail nell'elenco. C'è un motivo per cui non li invierà tutti? Ho copiato direttamente il codice che era sopra e non ho cambiato nulla
Questo commento è stato fatto dal moderatore sul sito
Il codice VBA funziona bene, grazie, ma come aggiungere Cc? ci ho provato e ho fallito...
Questo commento è stato fatto dal moderatore sul sito
Il codice VBA funziona bene, grazie, ma come aggiungere Cc? Ho provato con:


Dim xCc come stringa
poi
xCc = xRg.Cells(i, 9) (l'indirizzo è sulla 9a colonna)


e fallito...
Questo commento è stato fatto dal moderatore sul sito
Ciao, Jean,

Per risolvere il tuo problema, applica il codice seguente: (Nota: dovresti aggiungere la colonna CC nella colonna C)

#Se VBA7 e Win64 allora
Dichiarazione privata PtrSafe Function ShellExecute Lib "shell32.dll" Alias ​​"ShellExecuteA" ( _
ByVal hwnd As LongPtr, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As LongPtr
#Altro
Funzione di dichiarazione privata ShellExecute Lib "shell32.dll" Alias ​​"ShellExecuteA" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
#Finisci se
Sub InviaEMail()
Dim xEmail come stringa
Dim xSubj come stringa
Dim xMsg come stringa
Dim xURL come stringa
Dim i As Integer
Dim k come doppio
Dim xCell come intervallo
Dim xRg come intervallo
Dim xTxt come stringa
Dim xCC come stringa
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Seleziona l'intervallo di dati:", "Ktools for Excel", xTxt, , , , , 8)
Se xRg non è niente, esci da Sub
Se xRg.Columns.Count <> 4 Allora
MsgBox "Errore di formato regionale, controlla", "Ktools for Excel"
Exit Sub
End If
Per i = 1 A xRg.Rows.Count
xEmail = xRg.Cells(i, 2)
xCC = xRg.Celle(i, 3)
xSubj = "Il tuo codice di registrazione"
xMsg = ""
xMsg = xMsg & "Gentile" & xRg.Cells(i, 1) & "," & vbCrLf & vbCrLf
xMsg = xMsg & "Questo è il tuo codice di registrazione"
xMsg = xMsg & xRg.Cells(i, 4).Testo & "." & vbCrLf & vbCrLf
xMsg = xMsg & " per favore provalo e sono felice di ricevere il tuo feedback! " & vbCrLf
xMsg = xMsg & "Skyyang"
xSubj = Application.WorksheetFunction.Substitute(xSubj, " ", "%20")
xMsg = Application.WorksheetFunction.Substitute(xMsg, " ", "%20")
xMsg = Application.WorksheetFunction.Substitute(xMsg, vbCrLf, "%0D%0A")
xURL = "mailto:" & xEmail & "?cc=" & xCC & "&subject=" & xSubj & "&body=" & xMsg
ShellExecute 0&, vbNullString, xURL, vbNullString, vbNullString, vbNormalFocus
Application.Wait (Ora + TimeValue ("0:00:02"))
Application.SendKeys "%s"
Successiva
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ho utilizzato il suddetto codice VBA in "Invia e-mail di massa personalizzate a un elenco da Excel con codice VBA". Volevo sapere se potevo inviare un'e-mail a determinate persone che hanno bisogno di una notifica basata su excel che mi dice di inviare promemoria a coloro che hanno contratti in scadenza in arrivo? Non riesco a ottenere Excel per inviare le e-mail e so che è a causa del codice stesso. Qualcuno può aiutarmi a risolvere questo problema?
Questo commento è stato fatto dal moderatore sul sito
Voglio inviare le e-mail con una riga dell'oggetto univoca, come posso farlo con questo VBA?
Questo commento è stato fatto dal moderatore sul sito
Ciao a tutti!

Ho un elenco di e-mail in un foglio e la bozza dell'e-mail in un altro.
Ho bisogno di un codice per inviare automaticamente la bozza dell'e-mail dal foglio 2 a ogni 5 membri nell'elenco fornito nel foglio 1.
Una volta inviate le prime 5, il codice dovrebbe contrassegnarle come "Inviate" in una nuova colonna dedicata e quindi attendere 60 secondi prima di inviare la serie successiva di 5 e-mail.
Il codice dovrebbe essere eseguito fino alla fine dell'intero elenco.

Il codice può utilizzare Outlook per inviare i messaggi di posta dal profilo predefinito in Outlook.

Per favore aiuto.

Fatemi sapere in caso se avete bisogno di ulteriori chiarimenti
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL