Měli jste někdy potřebu odesílat e -maily z aplikace Excel VBA na více e -mailových ID uvedených v listu aplikace Excel? Chcete se naučit odesílat e -maily z aplikace Excel bez otevírání aplikace Outlook? Tento článek pojednává o tom, jak můžete automatizovat aplikaci Outlook a odesílat více e -mailů s přílohami z Excelu jedním kliknutím, a udržovat tak lidi také v kopiích a ve skrytých kopiích.
Nakonec si můžete soubor stáhnout také a odeslat muže okamžitě na stovky ID. Soubor obsahuje makro pro odesílání e -mailů z Excelu.
Jak odesílat poštu z Excelu?
Chcete -li odesílat poštu z aplikace Excel, musíte těmto úryvkům VBA porozumět.
Důležité: V aplikaci Outlook musíte mít nakonfigurovaný e -mail.
Stisknutím klávesy F11 otevřete editor VB.
- Přidejte odkaz na objektovou knihovnu aplikace Outlook:
-
-
- Přejděte v nabídce na Nástroje a klikněte na Reference.
-
-
- Najděte Microsoft 16.0 Object Library. Verze může být různá. V Excelu 2016 je 16.0. Zaškrtněte. A klikněte na OK.
-
- Vytvořte odkazy na aplikaci Outlook a poštu: Nyní, abychom měli přístup k funkcím aplikace Microsoft Outlook, musíme vytvořit její objekt.
Dim outApp As Outlook.Application 'Tím se vytvoří odkaz na objekt outlook. Dim outApp As Outlook.MailItem 'Tím se vytvoří odkaz na MailItem.
-
- Inicializujte reference: Výše uvedené odkazy je třeba inicializovat:
Set outApp = New Outlook.Application Set outMail = outApp.CreateItem (0)
-
- Odesílání pošty pomocí objektu outMail: Níže uvedené řádky definují cílové ID pošty, kopie, bcc, předmět, tělo, přílohu a příkaz odeslat.
With outMail .To = "abcd.mail.com" 'Povinné. Zde definujete ID cílové pošty… cc = "cc.mail.com" 'nepovinné. ID kopie pošty, chcete -li … BCC = "bcc.mail.com" 'nepovinné. Bcc mail id, pokud chcete … Subject = subj 'by měl mít. Masáž na těle pošty … Tělo = zpráva volitelná. Masáž na těle pošty… Přílohy. Přidejte „C: /exceltip.com \ test.xlsx“ 'volitelně. Plně kvalifikovaný název přílohy … Odeslat 'Povinné, pokud chcete odesílat poštu z aplikace Excel. Chcete -li vidět poštu v aplikaci Outlook, použijte metodu .Display. Konec s
A je to. Je to vše, co potřebujete k odesílání pošty z Excelu pomocí VBA.
Nyní se podívejme na příklad, který odesílá poštu na každé e -mailové ID ve sloupci aplikace Excel samostatně.
Scénář:
Představte si, že máte k dispozici list aplikace Excel, který obsahuje 100 e -mailových ID, a na každé e -mailové ID musíte odeslat e -mail samostatně. Nejen to, musíte také připojit položky. Pokud to uděláte ručně, zabere vám to hodiny. Pojďme tedy automatizovat tuto poštovní úlohu v aplikaci Excel VBA.
Tady mám tato data. Ve sloupci C s názvem „Odeslat poštu komu“ je několik e -mailových ID. Na každý e -mail v tomto sloupci musím poslat e -mail.
Za tímto účelem jsem vytvořil sloupce pro Subject, Massage body, CC a BCC.
V poli „Odeslat poštu komu“ by neměla být mezera. Všechny ostatní sloupce mohou mít prázdné buňky. Jestli chceš
více e -mailových ID v na pak do tohoto sloupce napište ID e -mailu čárkami. Zkontrolujte, zda jsou e -mailová ID platná.
Pokud chcete posílat přílohy. Do sloupce přílohy napište adresy těchto souborů.
Předmět napište do sloupce Předmět.
Masáž ve sloupci Massage Body.
Pokud chcete někoho ponechat v kopii, napište jeho e -mailové ID do sloupce CC. Totéž pro BCC. pro více e -mailových ID použijte čárku.
Chcete -li nyní odesílat e -maily na každé e -mailové ID ve sloupci, postupujte takto.
- Stisknutím Alt+F11 otevřete editor VBA v aplikaci Excel.
- Přidejte odkaz na objekt outlook podle výše uvedených kroků.
- V novém modulu zkopírujte níže uvedený kód.
'*** Musíte mít v aplikaci Outlook ve svém systému nakonfigurovaný e -mail aplikace Outlook ***' *** přidat odkaz na knihovnu objektů outook z odkazů v nástrojích *** Sub BulkMail () Application.ScreenUpdating = False ThisWorkbook.Activate ' Vytváření odkazů na objekty aplikace a MailItem aplikace Outlook Dim outApp jako Outlook.Application Dim outMail As Outlook.MailItem 'Vytváření proměnné pro uchování hodnot různých položek pošty Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long „Moje data jsou na listu„ Exceltip.com “, můžete mít libovolný název listu. ThisWorkbook.Sheets ("Exceltip.com"). Aktivujte 'Získání posledního řádku obsahujícího ID e -mailu ve sloupci 3. lstRow = Cells (Rows.Count, 3) .End (xlUp) .Row' Variable to hold all email ids Dim rng As Range Set rng = Range ("C2: C" & lstRow) 'initializing outlook object to access its features Set outApp = New Outlook.Application On Error GoTo cleanup' to handle any error during creation of object. „Smyčkou iterujte každý řádek, uchovávejte data v e -mailech v proměnných a odešlete“ poštu na každé ID e -mailu. Pro každou buňku v rng sendTo = Rozsah (cell.Address) .Offset (0, 0) .Value2 subj = Range (cell.Address) .Offset (0, 1) .Value2 & "-MS" msg = Range (buňka. Adresa) .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 'to hand any error during creation of below object Set outMail = outApp.CreateItem (0)' Writing and sent mail in new mail With outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = subj .Attachments.Add atchmnt .Send 'this send mail without any notification. Pokud chcete vidět poštu před odesláním, použijte metodu .Display. End With On Error GoTo 0 'Vyčištění všech chyb zachycených dříve Set outMail = Nic' rušení objektu odesílané pošty pro další poštu Další smyčka 'buňky ukončí vyčištění:' uvolnění všech vytvořených objektů Set outApp = nic Application.ScreenUpdating = True Application.ScreenUpdating = True End Sub
Výše uvedený kód odešle e -maily na každé e -mailové ID v řádku sloupce „odeslat poštu“. Chcete -li tento kód spustit, můžete jej přímo spustit zde. Nebo můžete do sešitu přidat obrázek nebo tlačítko a poté k tomuto objektu přiřadit toto makro. Používám tvary, protože jsou přizpůsobitelné. Udělat to tak, postupujte podle níže uvedených kroků.
-
- Přejděte na kartu Vložit.
- Ve skupině Ilustrace najdete tvary, klikněte na svůj oblíbený tvar.
-
- Přetáhněte ji na list.
- Zkrášlete, pokud chcete.
- Klikněte na něj pravým tlačítkem. Klikněte na Přiřadit makro.
-
- Ze seznamu vyberte makro BulkMail.
- Ukončete režim úprav.
Kdykoli na tento objekt kliknete, spustí se vaše makro a odešle e -maily. Zkontrolujte odeslané e -maily.
Zde si můžete stáhnout soubor aplikace Excel Mail Sender.
Rozdělit list aplikace Excel na více souborů na základě sloupce pomocí VBA | Chcete-li rozdělit list na více souborů na základě hodnot sloupce, budete ho muset filtrovat, zkopírovat a vložit do nového souboru.
Jak filtrovat data v aplikaci Excel pomocí VBA | Filtrování dat pomocí VBA je snadné. Tyto jednoduché řádky kódů filtrují data o daných kritériích.
Vypnout varovné zprávy pomocí VBA v aplikaci Microsoft Excel 2016 | Při provádění více úkolů, jako je otevírání a zavírání souborů, Excel zobrazuje varovné zprávy, abyste nepřišli o data. Přerušují běžící kód. Aby se jim vyhnul
Jak procházet listy v aplikaci Excel pomocí VBA | Abychom se mohli na dvou nebo více listech pohybovat tam a zpět, musíme je prokličkovat. K procházení více listů používáme…
7 Příklady smyček For v aplikaci Microsoft Excel VBA | Smyčka for je nejpoužívanější smyčkovou technikou v jakémkoli jazyce. Excel VBA není výjimkou.
Oblíbené články:
50 zkratek aplikace Excel pro zvýšení produktivity | Získejte rychleji svůj úkol. Těchto 50 klávesových zkratek vám umožní pracovat v Excelu ještě rychleji.
Jak používat funkci VLOOKUP v aplikaci Excel | Toto je jedna z nejpoužívanějších a nejoblíbenějších funkcí Excelu, která slouží k vyhledávání hodnot z různých rozsahů a listů.
Jak používat funkci COUNTIF v aplikaci Excel | Pomocí této úžasné funkce spočítejte hodnoty s podmínkami. K počítání konkrétní hodnoty nepotřebujete filtrovat data. Funkce Countif je nezbytná pro přípravu řídicího panelu.
Jak používat funkci SUMIF v aplikaci Excel | Toto je další základní funkce řídicího panelu. To vám pomůže shrnout hodnoty za konkrétních podmínek.