Excel VBA Outlook-funksjon
Vi jobber med masse og masse Excel-filer på daglig basis, og vi sender til mange brukere på daglig basis. Vi skriver den samme meldingen i e-posten daglig og sender den excel-filen. Dette gir oss omfanget av automatiseringen av denne oppgaven. Du hørte det riktig. Denne oppgaven med å skrive en e-post og sende filen kan automatiseres ved hjelp av VBA. Årsaken er at VBA kan bruke en referanse med forskjellige Microsoft-objekter som outlook, word, PowerPoint, paint, etc.
Så vi kan sende e-posten ved hjelp av VBA. Nå er jeg sikker på at dere alle vil være glade for å vite hvordan vi kan sende en e-post med hjelp av VBA.
Vi lærer i denne artikkelen hvordan du bruker Outlook som Microsoft-objekt fra Excel ved bruk av VBA-koding og hvordan vi kan sende en e-post inkludert et vedlegg ved hjelp av VBA.
Hvordan bruke Excel VBA Outlook-funksjon?
For å bruke VBA Outlook-funksjon, må vi gjøre to ting.
Du kan laste ned denne VBA Outlook Excel-malen her - VBA Outlook Excel-mal- Referanse Microsoft Outlook-objekt fra Object Library i VBA.
- Skriv VBA-kode for å sende e-post i VBA-modulen.
# 1 - Henvisning til Outlook fra Excel
Som du vet Outlook er et objekt, og vi må gi en referanse til Outlook-objekt. Så det er et objektreferansebibliotek i VBA som vi må bruke som referanse.
Følg trinnene nedenfor for å bruke Object Reference Library.
Trinn 1: I fanen Developer klikker du på Visual Basic for å åpne VB Editor.
Trinn 2: Gå til Verktøy, og velg deretter Referanser som vist på skjermbildet nedenfor.
Trinn 3: Bla ned i Reference Object-biblioteket og velg “Microsoft Outlook 16.0 Object Library” for å gjøre det tilgjengelig for Excel VBA.
Avhengig av Microsoft-kontoret, kan Outlook-versjonen være annerledes. I vårt tilfelle er den 16, 0. Du kan bruke " Microsoft Outlook 14.0 Object Library" hvis det er versjonen som vises på datamaskinen.
Merk av i ruten til Microsoft Outlook som vist på skjermbildet over. Nå kan vi bruke Microsoft Outlook-objektet i Excel VBA.
Denne prosessen med å sette referansen til “MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY” er kjent som Early Binding. Uten å sette objektbiblioteket som "MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY" kan vi ikke bruke IntelliSense-egenskapene og -metodene til VBA som gjør det vanskelig å skrive koden.
# 2 - Skriv en kode for å sende e-post fra VBA Outlook fra Excel
Følg trinnene nedenfor for å skrive VBA-koden for å sende e-post fra Outlook fra Excel.
Trinn 1: Lag en subprosedyre ved å navngi makroen. Vi vil navngi makro som "send_email" som vist på skjermbildet nedenfor.
Kode:
Alternativ Eksplisitt Sub Send_email () Slutt Sub
Trinn 2: Definer variabelen som Outlook. Applikasjon som vist på skjermbildet nedenfor. Dette er referansen til VBA Outlook-applikasjonen.
Kode:
Alternativ Eksplisitt sub Send_email () Dim OutlookApp som Outlook.Application End Sub
Trinn 3: Vi må sende en e-post i Outlook, så definer en annen variabel som " Outlook.Mailitem " som vist på skjermbildet nedenfor.
Kode:
Alternativ Eksplisitt Sub Send_email () Dim OutlookApp Som Outlook.Applikasjon Dim OutlookMail Som Outlook.MailItem End Sub
Trinn 4: I de forrige trinnene har vi definert variabelen nå vi trenger å stille dem inn.
Sett nå den første variabelen “Outlook Application” som “New Outlook.Application” som vist på skjermbildet nedenfor.
Kode:
Alternativ Eksplisitt sub Send_email () Dim OutlookApp som Outlook.Applikasjon Dim OutlookMail som Outlook.MailItem Set OutlookApp = New Outlook.Application End Sub
Trinn 5: Sett nå den andre variabelen “Outlook Mail” med koden nedenfor.
Kode:
Alternativ Eksplisitt under Send_email () Dim OutlookApp som Outlook.Applikasjon Dim OutlookMail som Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Slutt sub
Trinn 6: Vi kan nå bruke VBA Outlook ved å bruke “ With ” -utsagnet som vist på skjermbildet nedenfor.
Kode:
Alternativ Eksplisitt sub Send_email () Dim OutlookApp som Outlook.Applikasjon Dim OutlookMail som Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Med OutlookMail End Sub
Vi har nå all tilgang til e-postelementer som “Til”, “CC”, “BCC”, “emne”, “E-postadresse” og mange flere elementer.
Trinn 7: Inne i setningen “Med” kan vi se en liste ved å sette en prikk som er kjent som “Intellisense List”.
Trinn 8: Velg først kroppsformatet som olFormatHtml som vist på skjermbildet nedenfor.
Kode:
Med OutlookMail .BodyFormat = olFormatHTML Slutt sub
Trinn 9: Velg “ .Display ” for å vise e-posten som vist på skjermbildet nedenfor.
Kode:
Med OutlookMail .BodyFormat = olFormatHTML .Display End Sub
Trinn 10: Velg “ .HTMLbody ” for å skrive e-posten som vist på skjermbildet nedenfor.
Kode:
Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "skriv e-posten din her" End Sub
Vi må huske noen få ting mens vi skriver e-posten i VBA-kode.
“
”Brukes til å inkludere linjeoppdeling mellom to linjer. Hvis du vil legge til signatur i e-postmeldingen, må du oppgi “& .HTMLbody”
Se nedenfor eksempel på hvordan du skriver e-posten i VBA.
Kode:
Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Kjære ABC" & "
"&" Vennligst finn den vedlagte filen "& .HTMLBody End Sub
Trinn 11: Nå må vi legge til mottakeren av e-posten. For dette må du bruke “.To”.
Kode:
.To = " "
Trinn 12: Hvis du vil legge til noen i “CC” og “BCC”, kan du bruke “.CC” og “.BCC” som vist på skjermbildet nedenfor.
Kode:
.CC = " postbeskyttet " .BCC = " postbeskyttet "
Trinn 13: For å legge til et emne for e-postmeldingen vi sender, kan vi bruke ". Undervisning " som vist på skjermbildet nedenfor.
Kode:
.Subject = "TEST POST"
Trinn 14: Vi kan legge til vår nåværende arbeidsbok som vedlegg i e-posten ved hjelp av “.Attachment” -egenskap. For å gjøre det erklærer du først en variabel Source som en streng.
Kode:
Dim kilde_fil som streng
Bruk deretter følgende kode for å legge ved filen i e-posten.
Kode:
source_file = ThisWorkbook.FullName .Attachments.Legg til source_file
Her brukes denne arbeidsboken for den gjeldende arbeidsboken og. FullName brukes for å få fullstendig navn på regnearket.
Trinn 15: Nå er den siste koden å endelig sende e-posten vi kan bruke “ .send ” til. Men sørg for å lukke With and Sub-prosedyren ved “End with” og “End Sub” som vist på skjermbildet nedenfor.
Så koden er endelig klar til å sende en e-post. Vi må bare kjøre makroen nå.
Trinn 16: Kjør koden ved å trykke på F5 eller Run-knappen og se utdataene.
Endelig Full kode
Så nedenfor er den endelige koden for hvordan du sender en e-post ved hjelp av VBA Outlook.
Kode:
Alternativ Eksplisitt sub Send_email () Dim OutlookApp som Outlook.Applikasjon Dim OutlookMail Som Outlook.MailItem Dim source_file Som streng Sett OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Med OutlookMail .BodyFormat = olFormatHTML .ML. Kjære ABC "&"
"&" Vennligst finn den vedlagte filen "& .HTMLBody .To =" postbeskyttet ".CC =" postbeskyttet ".BCC =" postbeskyttet ".Subject =" TESTMAIL "source_file = ThisWorkbook. Fullnavn. Tillegg.Legg til kilde-fil. Send End With End Sub
Eksempel på VBA Outlook-funksjon
Anta at det er en teamleder og han vil sende en daglig e-post for oppfølging av hvert medlems aktivitet. E-posten vil være slik.
“ Hei team,
Be deg om å dele handlingene dine på hvert av oppfølgingsartiklene dine innen klokka 11 i dag.
Takk og hilsen,
Ukjent
“
Følg trinnene som er nevnt ovenfor for å henvise til Microsoft Object og skrive VBA-kodingen, eller du kan bare endre koden tilsvarende.
Så med all koden forbli den samme, må vi endre noen ting i koden, for eksempel som e-post-ID til mottakeren, emnet, e-postadressen og det vil ikke være noe vedlegg i e-posten.
Nedenfor er den endrede koden vi bruker for å skrive denne e-posten.
Kode:
Sub Send_teamemail () Dim OutlookApp As Outlook.Application Dim OutlookMail Som Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Hi Team"
"&"
"&" Be deg om å dele handlingene dine på hvert av oppfølgingsartiklene dine innen kl. 20 i dag. "& .HTMLBody .To =" postbeskyttet ; ; ".Subject =" Team Follow Up ". Send End With End Sub
Etter å ha kjørt makroen, vil du se at e-posten ble sendt automatisk fra utsiktene dine.
Ting å huske
- Først må du sørge for at du har installert Microsoft Outlook på datamaskinen din og at du har logget inn på kontoen din.
- Forsikre deg om at boksen for Microsoft Outlook i Object Library-referansen alltid er avmerket. Koden kjører ikke og kaster en feil hvis den ikke er krysset av.
- Definere variabler og innstille variabler i veldig viktig i VBA-koding. Uten variabler vil en kode ikke fungere.
- Forsikre deg om at hvis du vil legge til signatur i posten, først skal du ha minst en signatur som allerede er opprettet i outlook.
- Bruk alltid “
”For å legge inn linjeavstander i posten.
Anbefalte artikler
Dette er en guide til VBA Outlook. Her diskuterer vi hvordan du sender e-post fra Outlook ved hjelp av VBA-koder i Excel sammen med et eksempel og nedlastbar Excel-mal. Nedenfor er noen nyttige excel-artikler relatert til VBA -
- Hva er VBA OverFlow-feil?
- Tilpass hurtig tilgangsverktøylinje i Excel
- Eksempler på VBA Named Range
- Hvordan sende e-post fra Excel VBA
- Hvordan bruke alternativ eksplisitt i VBA?