VBA-kód e-mailek küldéséhez Excelből
A VBA-ban, hogy e-mailt küldjön az Excel programból , automatizálhatjuk a levelezési funkciónkat, így automatikusan több felhasználónak is küldhetünk e-maileket egyszerre, ehhez emlékeznünk kell arra, hogy ezt az outlook egy másik outlook terméke teszi, ezért engedélyeznünk kell az Outlookot szkriptelés a VBA-ban, és ha ez megtörtént, a .Application metódust használjuk az Outlook funkcióinak használatához.
A VBA sokoldalúsága elképesztő. Az ok, amiért a VBA kódolók szeretik az excelt, mert a VBA használatával nemcsak az excel keretein belül dolgozhatunk, hanem más Microsoft eszközökhöz is hozzáférhetünk. A VBA használatával hozzáférhetünk a PowerPointhoz, a Wordhez és az Outlookhoz. Ami engem lenyűgözött, amikor hallottam, hogy „e-mailt küldött az Excelből”. Igen, igaz, tudunk e-mailt küldeni az exceltől. Ebben a cikkben megmutatjuk, hogyan küldhetünk e-maileket az excelről a mellékletekkel a VBA kódolással.
A Hivatkozás beállítása a Microsoft Office könyvtárra
E-maileket kell küldenünk az Outlookból. Mivel az Outlook egy külső objektum, először azt kell tennünk, hogy az objektum hivatkozást állítsuk „ Microsoft Outlook 16.0 Object Library ” -ra.
- A VBA menüben lépjen az Eszközök> Referenciák menüpontra
- Most meglátjuk az objektum referencia könyvtárat. Ebben az ablakban meg kell adnunk a „Microsoft Outlook 16.0 Object Library” hivatkozást
- Az objektum hivatkozás beállítása után kattintson az OK gombra.
Most VBA kódolással férhetünk hozzá az Outlook objektumhoz.
13 egyszerű lépés e-mailek küldéséhez az Excelből
A kód megírása egy mellékletet tartalmazó e-mail küldéséhez az exceltől meglehetősen bonyolult, de érdemes egy kis időt tölteni.
Itt letöltheti ezt a VBA e-mail küldése Excel sablont - VBA e-mail küldése Excel sablontKövesse az alábbi lépéseket az első e-mail makró megírásához.
1. lépés
Indítsa el az alfolyamatot a VBA-ban.
Kód:
Sub SendEmail_Example1 () End Sub
2. lépés
Nyújtsa be az Outlook.Application változót
Kód:
Dim EmailApp As Outlook.Application "Az Outlook alkalmazásra való hivatkozás
3. lépés
A fenti változó egy objektumváltozó. Külön kell létrehoznunk egy új objektum példányát. Az alábbi külső objektum új példányának létrehozása a kód.
Kód:
Set EmailApp = New Outlook.Application 'Az Outlook alkalmazás elindításához
4. lépés
Az e-mail megírásához még egy változót „Outlook.MailItem” néven deklarálunk.
Kód:
Dim EmailItem As Outlook.MailItem 'Az új Outlook e-mail hivatkozására
5. lépés
Új e-mail indításához meg kell adnunk az előző változónk hivatkozását CreateItem néven.
Kód:
Set EmailItem = EmailApp.CreateItem (olMailItem) 'Új Outlook e-mail indításához
Ok, most az „EmailApp” változó elindítja az outlook alkalmazást, és az „EmailItem” változóban elkezdhetjük írni az e-mailt.
6. lépés
Most tisztában kell lennünk azzal, hogy mik vannak a cikkek, miközben e-mailt írunk. Az első dolog, hogy el kell döntenünk, hogy kinek küldjük az e-mailt. Tehát ehhez hozzáférnünk kell a „TO” tulajdonhoz.
7. lépés
Írja be dupla idézőjelbe a vevő e-mail azonosítóját.
Kód:
EmailItem.To = "[email protected]"
8. lépés
A fő vevőhöz való címzés után, ha bárkit szeretnénk CC-vel megosztani az e-mailben, használhatjuk a „CC” tulajdonságot.
Kód:
EmailItem.CC = "[email protected]"
9. lépés
A CC után beállíthatjuk a BCC e-mail azonosítót is.
Kód:
EmailItem.BCC = "[email protected]"
10. lépés
Most be kell írnunk a küldött e-mail tárgyát.
Kód:
EmailItem.Subject = "E-mail tesztelése az Excel VBA-ból"
11. lépés
Most meg kell írnunk az e-mail törzsét a HTML Body type használatával.
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.