Sähköpostien lähettäminen Excel -laskentataulukosta VBA -skriptien avulla

Sähköpostien lähettäminen Excel -laskentataulukosta VBA -skriptien avulla

Sähköpostien lähettäminen Microsoft Excelistä vaatii vain muutaman yksinkertaisen komentosarjan. Kun lisäät tämän toiminnon laskentataulukoihisi, voit todella parantaa sitä, kuinka paljon voit saavuttaa Excelissä.





Olemme käsitelleet monia hienoja Excel -makroja, jotka voivat suorittaa samat asiat kuin VBA -komentosarjat, mutta ilman ohjelmointitietoa. Mutta monia edistyneitä asioita, joita voit tehdä vain VBA: lla, kuten luoda laskentataulukkoraportti, jossa on kaikki tietokoneesi tiedot.





Katsotko mieluummin tämän opetusohjelman videona? Olemme saaneet sinut suojaan!





Miksi lähettää sähköpostia Excelistä?

On monia syitä, miksi haluat lähettää sähköpostia Microsoft Excelistä.

Ehkä sinulla on henkilökuntaa, joka päivittää asiakirjoja tai laskentataulukoita viikoittain, ja haluat saada sähköposti -ilmoituksen, kun päivitykset on tehty. Tai sinulla voi olla laskentataulukko yhteystiedoista ja haluat lähettää yhden sähköpostin heille kaikille kerralla.



Olet luultavasti sitä mieltä, että Excelistä lähetettävän sähköpostin komentosarjoista tulee monimutkaisia. Näin ei ole ollenkaan.

Tämän artikkelin tekniikka hyödyntää ominaisuutta, joka on ollut saatavilla Excel VBA: ssa pitkään, Yhteistyön tietoobjektit (CDO).





CDO on viestintäkomponentti, jota on käytetty Windowsissa käyttöjärjestelmän alusta asti. Sitä kutsuttiin aiemmin CDONTSiksi, ja sitten Windows 2000: n ja XP: n tullessa se korvattiin sanalla 'CDO for Windows 2000'. Tämä komponentti sisältyy jo VBA -asennukseen Microsoft Wordissa tai Excelissä ja on käyttövalmis.

Komponentin käyttäminen tekee sähköpostien lähettämisestä Windows -tuotteista VBA: n avulla erittäin helppoa. Tässä esimerkissä käytät CDO -komponenttia Excelissä lähettääksesi sähköpostiviestin, joka toimittaa tulokset tietystä Excel -solusta.





Vaihe 1: Luo VBA -makro

Ensimmäinen vaihe on siirtyä Excel -kehittäjä -välilehdelle.

Napsauta Kehittäjä -välilehden sisällä Lisää Controls -ruudussa ja valitse sitten komentopainike.

Piirrä se taulukkoon ja luo sitten sille uusi makro napsauttamalla Makrot kehittäjänauhassa.

Kun napsautat Luoda -painiketta, se avaa VBA -editorin.

Lisää viite CDO -kirjastoon siirtymällä kohtaan Työkalut > Viitteet editorissa.

Vieritä luetteloa alaspäin, kunnes löydät Microsoft CDO Windows 2000 -kirjastoon . Valitse valintaruutu ja napsauta OK .

Kun napsautat OK , kirjoita muistiin sen toiminnon nimi, johon liität komentosarjan. Tarvitset sitä myöhemmin.

Vaihe 2: Määritä CDO: n Lähettäjä- ja Vastaanottaja -kentät

Tätä varten sinun on ensin luotava postiobjektit ja määritettävä kaikki sähköpostin lähettämiseen tarvittavat kentät.

Muista, että vaikka monet kentät ovat valinnaisia, Alkaen ja Vastaanottaja kentät ovat pakollisia.

miksi viesteissäni sanotaan, ettei niitä ole toimitettu
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))

Viileä asia tässä on, että voit luoda minkä tahansa merkkijonon, jonka haluat muokata koko sähköpostiviestiksi, ja määrittää sen strBody muuttuja.

Yhdistä viestin osat käyttämällä & merkkijono, jos haluat lisätä tietoja mistä tahansa Microsoft Excel -arkista suoraan sähköpostiviestiin, kuten yllä on esitetty.

Vaihe 3: Määritä CDO käyttämään ulkoista SMTP: tä

Koodin seuraavassa osassa määritetään CDO käyttämään sähköpostin lähettämiseen mitä tahansa ulkoista SMTP -palvelinta.

Tämä esimerkki on muu kuin SSL-määritys Gmailin kautta. CDO pystyy SSL: ään, mutta se ei kuulu tämän artikkelin soveltamisalaan. Jos haluat käyttää SSL -salausta, tämä edistynyt koodi Githubissa voi auttaa.

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

Vaihe 4: Viimeistele CDO -asennus

Nyt kun olet määrittänyt yhteyden SMTP -palvelimeen sähköpostin lähettämistä varten, sinun tarvitsee vain täyttää asianmukaiset kentät CDO_Mail -objekti ja antaa Lähettää komento.

Näin teet sen:

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

Näyttöön ei tule ponnahdusikkunoita tai suojausilmoituksia, joita voi tapahtua, kun käytät Outlook-sähköpostiobjektia.

CDO yksinkertaisesti kokoaa sähköpostin ja käyttää SMTP -palvelimen yhteystietoja viestin laukaisemiseen. Se on helpoin tapa sisällyttää sähköposti Microsoft Word- tai Excel VBA -skripteihin.

Voit liittää komentopainikkeen tähän komentosarjaan siirtymällä koodieditoriin ja napsauttamalla Taulukko 1 nähdäksesi kyseisen laskentataulukon VBA -koodin.

Kirjoita sen toiminnon nimi, johon olet liittänyt komentosarjan yllä.

miten siirtää ipodista itunesiin

Tältä näytti postilaatikkooni saapunut viesti:

Huomautus : Jos näyttöön tulee virheilmoitus Siirto ei onnistunut muodostamaan yhteyttä palvelimeen , varmista, että olet kirjoittanut oikean käyttäjänimen, salasanan, SMTP -palvelimen ja portin numeron alla oleviin koodiriveihin SMTP_Config .

Vie se pidemmälle ja automatisoi koko prosessi

On hienoa, että voit lähettää sähköpostia Excelistä napin painalluksella. Voit kuitenkin haluta käyttää tätä toimintoa säännöllisesti, jolloin olisi järkevää automatisoida prosessi.

Voit tehdä tämän muuttamalla makroa. Siirry Visual Basic Editoriin ja kopioi ja liitä koko koodaamamme koodi.

Valitse seuraavaksi Tämä työkirja alkaen Projekti hierarkia.

Valitse koodi -ikkunan yläreunan kahdesta pudotusvalikosta Työkirja ja valitse Avata avattavasta Menetelmät -valikosta.

Liitä yllä oleva sähköpostin komentosarja Yksityinen alityökirja_Avaa () .

Tämä suorittaa makron aina, kun avaat Excel -tiedoston.

Seuraavaksi avaa Tehtävien ajoitus .

Käytät tätä työkalua pyytääksesi Windowsia avaamaan laskentataulukon automaattisesti säännöllisin väliajoin, jolloin makro käynnistyy ja lähettää sähköpostin.

Valitse Luo perustehtävä ... alkaen Toiminta -valikkoa ja jatka ohjatun toiminnon läpi, kunnes saavut Toiminta näyttö.

Valitse Käynnistä ohjelma ja napsauta Seuraava .

Käytä Selaa -painiketta löytääksesi Microsoft Excelin sijainnin tietokoneellasi tai kopioi ja liitä polku Ohjelma/käsikirjoitus ala.

Kirjoita sitten Microsoft Excel -asiakirjasi polku Lisää argumentteja ala.

Suorita ohjattu toiminto loppuun, ja ajoituksesi pysyy paikallaan.

Kannattaa suorittaa testi ajoittamalla toiminto muutaman minuutin ajaksi tulevaisuudessa ja muuttamalla sitten tehtävää, kun voit vahvistaa sen toimivan.

Huomautus : Saatat joutua säätämään luottamuskeskuksen asetuksia varmistaaksesi, että makro toimii oikein.

Voit tehdä tämän avaamalla laskentataulukon ja siirtymällä kohtaan Tiedosto > Asetukset > Luottamuskeskus .

Napsauta tästä Luottamuskeskuksen asetukset ja aseta seuraavalla näytöllä radiovalitsin asentoon Älä koskaan näytä estetyn sisällön tietoja .

Saa Microsoft Excel toimimaan puolestasi

Microsoft Excel on uskomattoman tehokas työkalu, mutta sen hyödyntäminen voi olla hieman pelottavaa. Jos haluat todella hallita ohjelmistoa, sinun on oltava mukava VBA: n kanssa , eikä se ole pieni tehtävä.

kuinka poistaa ios 13 beta ilman tietokonetta

Tulokset kuitenkin puhuvat puolestaan. Pienellä VBA -kokemuksella voit pian saada Microsoft Excelin suorittamaan perustehtävät automaattisesti, jolloin saat enemmän aikaa keskittyä kiireellisempiin asioihin.

Asiantuntemuksen rakentaminen VBA: n kanssa vie aikaa, mutta näet pian työsi hedelmät, jos pystyt pitämään siitä kiinni.

Yksi hyvä paikka aloittaa on arvovaltainen opetusohjelma VBA: n käyttämisestä Excelissä . Kun olet valmis, tämä yksinkertainen komentosarja sähköpostien lähettämiseksi Excelistä tuntuu lapsenpeliltä.

Jaa Jaa Tweet Sähköposti Canon vs.Nikon: Mikä kameramerkki on parempi?

Canon ja Nikon ovat kamerateollisuuden kaksi suurinta nimeä. Mutta mikä merkki tarjoaa paremman valikoiman kameroita ja objektiiveja?

Lue seuraava
Liittyvät aiheet
  • Tuottavuus
  • Ohjelmointi
  • Vinkkejä sähköpostitse
  • Ohjelmointi
  • Visual Basic -ohjelmointi
  • Microsoft Excel
  • Microsoft Office -vinkkejä
Kirjailijasta Ryan Dube(942 artikkelia julkaistu)

Ryanilla on BSc -tutkinto sähkötekniikasta. Hän on työskennellyt 13 vuotta automaatiotekniikassa, 5 vuotta IT -alalla ja on nyt sovellusinsinööri. MakeUseOfin entinen toimituspäällikkö, hän on puhunut kansallisissa datan visualisointia käsittelevissä konferensseissa ja hän on esiintynyt kansallisessa televisiossa ja radiossa.

Lisää Ryan Dubelta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi