E -mailek küldése Excel táblázatból VBA -szkriptek használatával

E -mailek küldése Excel táblázatból VBA -szkriptek használatával

Az e -mailek Microsoft Excelből történő küldéséhez csak néhány egyszerű parancsfájl szükséges. Ha hozzáadja ezt a funkciót a táblázatokhoz, akkor valóban növelheti, hogy mennyit tud elérni az Excelben.





Rengeteg nagyszerű Excel makrót ismertettünk, amelyek ugyanazokat a dolgokat képesek végrehajtani, mint a VBA -szkriptek, de programozási ismeretek nélkül. De sok olyan fejlett dolog van, amit csak a VBA -val tehet meg, például egy táblázatjelentés létrehozása a számítógép összes információjával.





Inkább videóként nézi ezt az oktatóanyagot? Mi fedezünk téged!





Miért érdemes e -mailt küldeni az Excelből?

Sok oka lehet annak, hogy miért szeretne e -mailt küldeni a Microsoft Excel programból.

Lehet, hogy munkatársai hetente frissítik a dokumentumokat vagy táblázatokat, és e -mailben szeretne értesítést kapni a frissítések elvégzéséről. Vagy rendelkezhet névjegyzékkel, és egyszerre csak egy e -mailt szeretne küldeni mindegyiknek.



Valószínűleg azt gondolja, hogy az Excelből származó e -mail közvetítésének szkriptelése bonyolult lesz. Ez egyáltalán nem így van.

A cikk technikája olyan funkciót fog használni, amely már régóta elérhető az Excel VBA -ban, Együttműködési adatobjektumok (CDO).





A CDO egy üzenetküldő összetevő, amelyet a Windows rendszerben az operációs rendszer nagyon korai generációja óta használnak. Régebben CDONTS -nak hívták, majd a Windows 2000 és XP megjelenésével felváltotta a „CDO for Windows 2000”. Ez az összetevő már szerepel a VBA telepítésében a Microsoft Word vagy Excel programban, és használatra kész.

Az összetevő használata rendkívül egyszerűvé teszi az e -mailek küldését a Windows -termékekről a VBA segítségével. Ebben a példában az Excel CDO összetevőjét használva küldhet egy e -mailt, amely az eredményeket egy adott Excel cellából küldi el.





1. lépés: Hozzon létre egy VBA makrót

Első lépésként lépjen az Excel Fejlesztő fülre.

A Fejlesztő lapon kattintson a gombra Beszúrás a Vezérlők mezőben, majd válassza ki a parancsgombot.

Rajzolja be a lapba, majd a gombra kattintva hozzon létre egy új makrót Makrók a fejlesztői szalagon.

Amikor rákattint a Teremt gombra, megnyílik a VBA szerkesztő.

Adja hozzá a hivatkozást a CDO könyvtárhoz a navigálással Eszközök > Hivatkozások a szerkesztőben.

Görgessen lefelé a listában, amíg meg nem találja Microsoft CDO a Windows 2000 könyvtárhoz . Jelölje be a jelölőnégyzetet, és kattintson rendben .

Amikor rákattint rendben , jegyezze fel a függvény nevét, ahová beilleszti a szkriptet. Később szüksége lesz rá.

2. lépés: Állítsa be a CDO „From” és „To” mezőit

Ehhez először létre kell hoznia a levelezési objektumokat, és be kell állítania az e -mail elküldéséhez szükséges összes mezőt.

Ne feledje, hogy bár sok mező nem kötelező, a Tól től és Nak nek mezők kitöltése kötelező.

mit jelentenek ezek a hangulatjelek együtt
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

A jó dolog ebben az, hogy létrehozhat bármilyen karakterláncot, amelyet testreszabhat egy teljes e -mail üzenethez, és hozzárendelheti a strBody változó.

Ossza össze az üzenet összetevőit a & karakterlánc, amely a Microsoft Excel bármelyik lapjának adatait közvetlenül az e -mail üzenetbe szúrja be, a fentiek szerint.

3. lépés: A CDO konfigurálása külső SMTP használatára

A kód következő szakaszában konfigurálhatja a CDO -t, hogy bármilyen külső SMTP -kiszolgálót használjon az e -mail küldésére.

Ez a példa egy nem SSL beállítás a Gmailben. A CDO képes SSL -re, de ez nem tartozik a cikk hatálya alá. Ha SSL -t kell használnia, akkor ezt fejlett kód a Githubban tud segíteni.

Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With SMTP_Config
.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') = 2
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') = 'smtp.gmail.com'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate') = 1
.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') = 'email@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
With CDO_Mail
Set .Configuration = CDO_Config
End With

4. lépés: Fejezze be a CDO beállítását

Most, hogy konfigurálta az SMTP szerverhez való csatlakozást az e -mail küldéséhez, mindössze annyit kell tennie, hogy kitölti a megfelelő mezőket CDO_Mail objektum , és adja ki a Küld parancs.

Ezt a következőképpen teheti meg:

CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
If Err.Description '' Then MsgBox Err.Description

Nem jelennek meg előugró ablakok vagy biztonsági riasztási üzenetek, amelyek előfordulhatnak, ha az Outlook levelezőobjektumhoz folyamodik.

A CDO egyszerűen összeállítja az e -mailt, és az SMTP -szerver kapcsolatának adatai alapján aktiválja az üzenetet. Ez a legegyszerűbb módja annak, hogy az e -maileket beépítse a Microsoft Word vagy Excel VBA szkriptekbe.

Ha a parancsgombot ehhez a szkripthez szeretné csatlakoztatni, lépjen be a kódszerkesztőbe, és kattintson a gombra 1. lap az adott munkalap VBA -kódjának megtekintéséhez.

Írja be annak a függvénynek a nevét, amelybe a fenti szkriptet beillesztette.

weboldalak, ahol tárgyakat lehet vásárolni és eladni

Így nézett ki az üzenet, amelyet a postaládámba kaptam:

jegyzet : Ha olvasási hibaüzenetet kap A szállítás nem tudott csatlakozni a szerverhez , győződjön meg arról, hogy a megfelelő felhasználónevet, jelszót, SMTP -kiszolgálót és portszámot adta meg az alatta felsorolt ​​kódsorokban Az SMTP_Config használatával .

Vegye tovább és automatizálja az egész folyamatot

Minden rendben és jó, ha egy gombnyomással e -mailt küldhet az Excelből. Érdemes azonban rendszeresen használni ezt a funkciót, ebben az esetben értelme lenne automatizálni a folyamatot.

Ehhez módosítania kell a makrót. Menjen a Visual Basic szerkesztőbe, és másolja be és illessze be az általunk összeállított kódot.

Ezután válassza ki Ez a munkakönyv tól Projekt hierarchia.

A kódablak tetején található két legördülő menüből válassza a lehetőséget Munkafüzet és válassza ki Nyisd ki a Módszerek legördülő menüből.

Illessze be a fenti e -mail szkriptet Privát almunkafüzet_nyitva () .

Ez futtatja a makrót, amikor megnyitja az Excel fájlt.

Ezután nyisd ki Feladat ütemező .

Ezzel az eszközzel arra kéri a Windows rendszert, hogy rendszeres időközönként nyissa meg automatikusan a táblázatot, ekkor a makró elindul, és elküldi az e -mailt.

Válassza a lehetőséget Alapfeladat létrehozása ... tól Akció menüben, és haladjon végig a varázslón, amíg el nem éri a Akció képernyő.

Válassza a lehetőséget Indítson el egy programot és kattintson Következő .

Használja a Böngészés gombra kattintva keresse meg a Microsoft Excel helyét a számítógépén, vagy másolja be az útvonalat a Program/szkript terület.

Ezután írja be a Microsoft Excel dokumentum elérési útját a Adjon hozzá érveket terület.

Végezze el a varázslót, és az ütemezése a helyén lesz.

Érdemes egy tesztet lefuttatni úgy, hogy a jövőben néhány percig ütemezi a műveletet, majd módosítja a feladatot, ha meg tudja erősíteni, hogy működik.

jegyzet : Lehet, hogy módosítania kell a Trust Center beállításait a makró megfelelő működésének biztosítása érdekében.

Ehhez nyissa meg a táblázatot, és navigáljon a Fájl > Lehetőségek > Trust Center .

Innen kattintson Trust Center beállításai , majd a következő képernyőn állítsa a rádió tárcsát állásba Soha ne jelenítsen meg információkat a blokkolt tartalomról .

A Microsoft Excel működjön Önnek

A Microsoft Excel hihetetlenül hatékony eszköz, de megtanulni, hogyan hozhatja ki a legtöbbet belőle, kissé megfélemlíthet. Ha igazán el akarja sajátítani a szoftvert, akkor az kell kényelmes a VBA -val , és ez nem kis feladat.

hogyan kell használni a virtualboxot a Windows 10 rendszeren

Az eredmények azonban magukért beszélnek. Egy kis VBA -tapasztalattal az öv alatt hamarosan képes lesz arra, hogy a Microsoft Excel automatikusan elvégezze az alapvető feladatokat, így több ideje marad a sürgetőbb kérdésekre való koncentrálásra.

Időbe telik a szakértelem kiépítése a VBA -val, de hamarosan látni fogja munkájának gyümölcseit, ha ragaszkodik hozzá.

Az egyik nagyszerű kiindulópont a mérvadó oktatóanyag a VBA használatáról Excelben . Ha elkészült ezzel, ez az egyszerű szkript az e -mailek Excel -ből való küldéséhez gyerekjáték lesz.

Részvény Részvény Csipog Email Canon vs Nikon: Melyik a jobb márka?

A Canon és a Nikon a két legnagyobb név a kameraiparban. De melyik márka kínálja a kamerák és objektívek jobb választékát?

Olvassa tovább
Kapcsolódó témák
  • Termelékenység
  • Programozás
  • Tippek e -mailben
  • Programozás
  • Visual Basic programozás
  • Microsoft Excel
  • Microsoft Office tippek
A szerzőről Ryan Dube(942 megjelent cikk)

Ryan villamosmérnöki diplomát szerzett. 13 évet dolgozott az automatizálási mérnöki területen, 5 évet az informatikában, most pedig alkalmazásmérnök. A MakeUseOf korábbi ügyvezető szerkesztője, beszélt az adatok vizualizálásával foglalkozó országos konferenciákon, és szerepelt a nemzeti tévében és rádióban.

Továbbiak Ryan Dube -tól

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide