Come inviare e-mail in blocco da Excel VBA con un clic in Excel

Anonim

Hai mai avuto bisogno di inviare e-mail da Excel VBA a più ID e-mail, forniti in un foglio Excel? Vuoi imparare a inviare messaggi da Excel senza aprire Outlook? Questo articolo spiega come automatizzare Outlook e inviare più e-mail con allegati da Excel con un clic, mantenendo anche le persone in Cc e Ccn.

Alla fine, puoi anche scaricare il file, per inviare istantaneamente i maschi a centinaia di ID. Il file contiene macro per inviare email da excel.

Come inviare posta da Excel?
Per inviare posta da Excel, è necessario comprendere questi frammenti di VBA.

Importante: È necessario disporre di un'e-mail configurata sull'applicazione Outlook.

Premi F11 per aprire VB Editor.

  • Aggiungi un riferimento alla libreria di oggetti di Outlook:
      • Vai su Strumenti nel menu e fai clic su Riferimenti.

    • Trova la libreria di oggetti Microsoft 16.0. La versione può essere diversa. È 16.0 in Excel 2016. Spuntalo. E fare clic su OK.

    • Crea riferimenti dell'applicazione Outlook e della posta: Ora per poter accedere alle funzionalità di Microsoft Outlook, dobbiamo creare il suo oggetto.
Dim outApp As Outlook.Application 'Questo creerà un riferimento all'oggetto Outlook. Dim outApp As Outlook.MailItem 'Questo creerà un riferimento a MailItem. 
    • Inizializzare i riferimenti: I riferimenti di cui sopra devono essere inizializzati:
Imposta outApp = Nuovo Outlook.Application Imposta outMail = outApp.CreateItem(0)
    • Invio di posta utilizzando l'oggetto outMail: le righe sottostanti definiranno l'ID di posta di destinazione, cc, bcc, oggetto, corpo, allegato e comando di invio.
Con outMail .To = "abcd.mail.com" 'Obbligatorio. Qui definisci l'id della posta di destinazione… cc = "cc.mail.com" 'opzionale. Cc mail id se vuoi… BCC = "bcc.mail.com" 'opzionale. Ccn mail id se vuoi… Oggetto = subj 'dovrebbe avere. Il massaggio su mail body… Body = msg' opzionale. Il massaggio sul corpo della posta… Allegati. Aggiungi "C:/exceltip.com\test.xlsx" 'opzionale. Nome completo dell'allegato… Invia 'Obbligatorio se vuoi inviare posta da excel. Se vuoi vedere la posta in Outlook, usa il metodo .Display. Termina con 

Questo è tutto. È tutto ciò che serve per inviare posta da Excel utilizzando VBA.

Ora vediamo un esempio che invia posta a ciascun ID e-mail in una colonna di Excel separatamente.

Scenario:
Immagina che ti venga fornito un foglio Excel che contiene 100 ID e-mail e devi inviare un'e-mail a ciascun ID e-mail separatamente. Non solo questo, è necessario allegare anche elementi. Questo richiederebbe ore se lo fai manualmente. Quindi automatizziamo questa attività di mailing in Excel VBA.

Ecco ho questi dati. Nella colonna C, intitolata "Invia posta a", ci sono diversi ID email. Devo inviare un'e-mail a ciascun ID e-mail in questa colonna.
Per questo, ho creato colonne per Soggetto, Massaggio corpo, CC e BCC.

L'opzione "Invia posta a" non dovrebbe contenere celle vuote in mezzo. Tutte le altre colonne possono avere celle vuote. Se vuoi
più ID e-mail in a quindi scrivi quegli ID email con le virgole in questa colonna. Assicurati che gli ID email siano validi.

Se vuoi inviare allegati. Scrivi gli indirizzi di quei file nella colonna degli allegati.

Scrivi l'oggetto nella colonna Oggetto.

Massaggio nella colonna Massaggio Corpo.

Se vuoi mantenere qualcuno in cc, scrivi il suo ID email nella colonna CC. Lo stesso per BCC. usa la virgola per più ID email.

Ora per inviare e-mail a ciascun ID e-mail nella colonna segui questi passaggi.

  • Premi Alt + F11 per aprire l'editor VBA in Excel.
  • Aggiungi riferimento all'oggetto di Outlook seguendo i passaggi descritti in precedenza.
  • In un nuovo modulo, copia il codice seguente.
'*** Devi avere un'e-mail di Outlook configurata nell'applicazione Outlook sul tuo sistema *** '*** aggiungi riferimento alla libreria di oggetti outook dai riferimenti negli strumenti *** Sub BulkMail() Application.ScreenUpdating = False ThisWorkbook.Activate ' Creazione di riferimenti a oggetti Application e MailItem di Outlook Dim outApp As Outlook.Application Dim outMail As Outlook.MailItem 'Creazione variabile per contenere i valori di diversi elementi di posta Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long 'I miei dati sono sul foglio "Exceltip.com" puoi avere qualsiasi nome di foglio. ThisWorkbook.Sheets("Exceltip.com"). Attiva 'Ottieni l'ultima riga contenente l'ID email nella colonna 3. lstRow = Cells(Rows.Count, 3).End(xlUp).Row 'Variabile per contenere tutti gli ID email Dim rng As Range Set rng = Range("C2:C" & lstRow) 'inizializzazione dell'oggetto Outlook per accedere alle sue funzionalità Set outApp = New Outlook.Application On Error GoTo cleanup 'per gestire qualsiasi errore durante la creazione dell'oggetto. 'Ciclo per scorrere ogni riga, conservare i dati dell'e-mail in variabili e inviare 'e-mail a ciascun ID e-mail. Per ogni cella In rng sendTo = Range(cell.Address).Offset(0, 0).Value2 subj = Range(cell.Address).Offset(0, 1).Value2 & "-MS" msg = Range(cell.Address). Indirizzo).Offset(0, 2).Value2 atchmnt = Range(cell.Address).Offset(0, -1).Value2 ccTo = Range(cell.Address).Offset(0, 3).Value2 bccTo = Range( cell.Address).Offset(0, 4).Value2 On Error Resume Next 'per rilevare eventuali errori durante la creazione dell'oggetto sottostante Set outMail = outApp.CreateItem(0) 'Scrivere e inviare posta in una nuova posta With outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = subj .Attachments.Add atchmnt .Send 'this send mail senza alcuna notifica. Se vuoi vedere la posta prima dell'invio, usa il metodo .Display. End With On Error GoTo 0 'Per pulire qualsiasi errore catturato in precedenza Set outMail = Nothing 'annulla l'oggetto posta in uscita per la posta successiva Next cell 'loop termina la pulizia: 'libera tutti gli oggetti creati Set outApp = Nothing Application.ScreenUpdating = True Application.ScreenUpdating = True Fine sottotitolo 

Il codice sopra invierà e-mail a ciascun ID e-mail in una riga della colonna "invia posta a". Ora per eseguire questo codice, puoi eseguirlo direttamente da qui. Oppure puoi aggiungere una figura o un pulsante nella cartella di lavoro e quindi assegnare questa macro a quell'oggetto. Uso le forme perché sono personalizzabili. Fare così, seguire i passaggi seguenti.

    • Vai alla scheda Inserisci.
    • Nel gruppo Illustrazione, puoi trovare le forme, fai clic sulla tua forma preferita.

    • Trascinalo e rilascialo sul tuo foglio.
    • Abbellisci se vuoi.
    • Fare clic con il tasto destro su di esso. Fare clic su Assegna macro.

    • Scegli la macro BulkMail dall'elenco.

  • Esci dalla modalità di modifica.

Ora ogni volta che farai clic su questo oggetto, la tua macro verrà eseguita e invierà e-mail. Controlla le mail inviate per assicurarti.
Puoi scaricare il file del mittente di posta Excel qui.

Invia e-mail in blocco da Excel VBA con un clic

Dividi il foglio Excel in più file in base alla colonna utilizzando VBA | Per dividere un foglio di lavoro in più file, in base ai valori di una colonna, dovrai filtrarlo e copiarlo e incollarlo in un nuovo file.

Come filtrare i dati in Excel utilizzando VBA | Filtrare i dati utilizzando VBA è facile. Queste semplici righe di codici filtrano i dati sui criteri dati.

Disattiva i messaggi di avviso utilizzando VBA in Microsoft Excel 2016 | Durante l'esecuzione di più attività, come l'apertura e la chiusura di file, Excel mostra messaggi di avviso in modo da non perdere dati. Interrompono il codice in esecuzione. Per evitarli

Come scorrere i fogli in Excel utilizzando VBA | Per andare avanti e indietro su due o più fogli, dobbiamo passarci attraverso. Per scorrere più fogli, usiamo…

7 esempi di cicli For in Microsoft Excel VBA | Il ciclo for è la tecnica di looping più utilizzata in qualsiasi lingua. Excel VBA non fa eccezione.

Articoli popolari:

50 scorciatoie di Excel per aumentare la produttività | Diventa più veloce nel tuo compito. Queste 50 scorciatoie ti faranno lavorare ancora più velocemente su Excel.

Come utilizzare la funzione CERCA.VERT in Excel | Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare il valore da diversi intervalli e fogli.

Come utilizzare la funzione CONTA.SE in Excel | Conta i valori con le condizioni usando questa fantastica funzione. Non è necessario filtrare i dati per contare un valore specifico. La funzione Countif è essenziale per preparare la tua dashboard.

Come utilizzare la funzione SOMMA.SE in Excel | Questa è un'altra funzione essenziale della dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche.