VBA posielanie e-mailov z Excelu | Krok za krokom kód na odoslanie e-mailu

Kód VBA na odosielanie e-mailov z programu Excel

V programe VBA na odosielanie e-mailov z Excelu môžeme automatizovať našu funkciu odosielania e-mailov, aby sme mohli automaticky posielať e-maily viacerým používateľom naraz. Je potrebné si uvedomiť, že sa to deje v outlooku iným produktom outlook, takže musíme povoliť outlook skriptovanie vo VBA a hneď ako to urobíme, použijeme metódu .Application na použitie funkcií Outlooku.

Všestrannosť VBA je úžasná. Dôvod, prečo kodéry VBA milujú, je vynikajúci, pretože používaním VBA môžeme nielen pracovať v programe Excel, ale môžeme tiež pristupovať k ďalším nástrojom spoločnosti Microsoft. K programom PowerPoint, Word a Outlook môžeme pristupovať pomocou VBA. To, čo na mňa urobilo dojem, bolo, keď som počul o „odosielaní e-mailov od spoločnosti Excel“. Áno, je pravda, že môžeme posielať e-maily z programu Excel. V tomto článku si ukážeme, ako posielať e-maily z programu Excel s prílohami pomocou kódovania VBA.

Nastaviť odkaz na Knižnicu balíka Microsoft Office

Potrebujeme posielať e-maily z Outlooku. Pretože Outlook je vonkajší objekt, prvou vecou, ​​ktorú musíme urobiť, je nastaviť odkaz na objekt na „ Microsoft Outlook 16.0 Object Library “.

  • Vo VBA Prejdite na Nástroje> Referencie

  • Teraz uvidíme knižnicu odkazov na objekty. V tomto okne musíme nastaviť odkaz na „Objektovú knižnicu Microsoft Outlook 16.0“

  • Po nastavení referencie objektu kliknite na Ok.

Teraz môžeme získať prístup k objektu programu Outlook v kódovaní VBA.

13 jednoduchých krokov na odosielanie e-mailov z programu Excel

Písanie kódu na odoslanie e-mailu s prílohou z programu Excel je dosť komplikované, ale stojí za to stráviť nejaký čas.

Túto šablónu programu VBA Send Email Excel si môžete stiahnuť tu - Šablóna VBA Send Email Excel

Podľa nasledujúcich pokynov napíšete svoje prvé makro programu Excel.

Krok 1

Spustite podproces vo VBA.

Kód:

 Sub SendEmail_Example1 () End Sub 

Krok 2

Deklarujte premennú Outlook.Application

Kód:

 Dim EmailApp As Outlook.Application 'To refer to outlook application 

Krok č

Vyššie uvedená premenná je objektová premenná. Musíme vytvoriť inštanciu nového objektu osobitne. Na vytvorenie novej inštancie vonkajšieho objektu nižšie je kód.

Kód:

 Nastaviť EmailApp = Nový Outlook.Application 'Na spustenie aplikácie Outlook 

Krok č

Teraz, aby sme napísali e-mail, deklarujeme ešte jednu premennú ako „Outlook.MailItem“.

Kód:

 Dim EmailItem As Outlook.MailItem 'Ak chcete odoslať nový výhľadový e-mail 

Krok č

Aby sme mohli spustiť nový e-mail, musíme nastaviť odkaz na našu predchádzajúcu premennú ako CreateItem.

Kód:

 Set EmailItem = EmailApp.CreateItem (olMailItem) 'Ak chcete spustiť nový výhľadový e-mail 

Dobre, teraz premenná „EmailApp“ spustí výhľad a v premennej „EmailItem“ môžeme začať písať e-mail.

Krok č. 6

Teraz si musíme byť vedomí toho, čo sú položky, ktoré máme, keď píšeme e-mail. Prvá vec je, že sa musíme rozhodnúť, pre koho posielame e-mail. Preto potrebujeme prístup k majetku „TO“.

Krok č. 7

V dvojitých úvodzovkách zadajte e-mailovú adresu príjemcu.

Kód:

EmailItem.To = "[email protected]"

Krok č. 8

Ak chcete po kontaktovaní s hlavným príjemcom odoslať komukoľvek správu v e-maile, môžeme použiť vlastnosť „CC“.

Kód:

EmailItem.CC = "[email protected]"

Krok č. 9

Po CC môžeme nastaviť aj BCC email id.

Kód:

EmailItem.BCC = "[email protected]"

Krok č. 10

Teraz musíme zahrnúť Predmet e-mailu, ktorý odosielame.

Kód:

EmailItem.Subject = "Testovať e-mail z aplikácie Excel VBA"

Krok č. 11

Teraz musíme napísať telo e-mailu pomocou typu tela HTML.

Kód:

EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" 'VbNewLine is the VBA Constant to insert a new line 

Step #12

If we want to add an attachment as the current workbook we are working on then we need to use attachments property. First, declare a variable source as a string.

Code:

 Dim Source As String 

Then in this variable write ThisWorkbook.FullName after Email body.

Code:

Source = ThisWorkbook.FullName

In this VBA Code, ThisWorkbook is used for the current workbook and .FullName is used to get the full name of the worksheet.

Then write the following code to attach the file.

Code:

EmailItem.Attachments.Add Source

Step #13

Now finally we need to send the email to the mentioned email ID’s. This can be done by using “Send” method.

Code:

EmailItem.Send

Ok, we are done with the coding part.

Code:

 Sub SendEmail_Example1() Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = New Outlook.Application Dim EmailItem As Outlook.MailItem Set EmailItem = EmailApp.CreateItem(olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Test Email From Excel VBA" EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub 

Run the above code and it will send the email with the mentioned body of the email with the current workbook as the attachment.