Kā nosūtīt e-pastu programmā Outlook, izmantojot VBA?

Atjaunināts: 2021. gada augusts; Attiecas uz Microsoft Outlook 365/2019/2016

Šeit ir piezīme, ko saņēmām no lasītāja.

Paldies par jūsu ļoti noderīgo palīdzību saistībā ar Outlook kodēšanu. Vēlos, vai varat kopīgot kodu, lai palīdzētu automatizēt e-pasta sūtīšanu programmā Outlook? Es zinu, ka ir vairāki veidi, kā nosūtīt atkārtotu ziņojumu, bet mani īpaši interesē VBA izmantošana šim uzdevumam.

Paldies par jautājumu. Automātiska e-pasta sūtīšana, šķiet, ir viens no visnoderīgākajiem un populārākajiem uzdevumiem, ko varat automatizēt, izmantojot VBA. Lasiet tālāk, lai iegūtu sīkāku informāciju un vienkāršu skriptu, lai sāktu šeit.

VBA rakstīšana Outlook e-pasta sūtīšanai

Tālāk sniegtajā diezgan vienkāršajā piemērā mēs apskatīsim tālāk norādītās darbības.

  1. Vispirms mēs izmantosim VBA Outlook objekta modeli, lai izveidotu jaunu e-pasta vienumu.
  2. Pēc tam mēs iestatīsim ziņojuma svarīgumu, adresātus (atdalot ar semikoliem) un pamatteksta stilu un saturu.
  3. Pēc tam mēs parādīsim ziņojumu jūsu Microsoft Outlook lietojumprogrammā.
  4. Visbeidzot, mēs to nosūtīsim adresātiem.

Šis ir vienkāršais VBA kods, lai automātiski izveidotu un nosūtītu vienkāršus e-pasta ziņojumus. Ņemiet vērā, ka jums ir viegli uzlabot šo skriptu, lai iekļautu failu pielikumus, uzdevumus utt., Bet sāksim ar ļoti vienkāršu skriptu.

Sub SendMail()
Dim MyEmail As MailItem
Set MyEmail = Application.CreateItem(olMailItem)

With MyEmail
.To = ""
.Importance = olImportanceHigh
.Subject = ""
.Body = ""
.BodyFormat = olFormatHTML
.Display
End With

'I purposely commented the next line, uncomment it by removing the "'" sign to send your email.
' MyEmail.Send
End Sub

Outlook VBA makro saīsne

Iespējams, vēlēsities saistīt tikko ierakstīto VBA kodu ar komandas pogu programmā Outlook. Tas ļaus to viegli palaist no Outlook lentē ievietotās saīsnes.

Lūk, kā to izdarīt:

  1. Vispirms dodieties uz priekšu un atveriet Microsoft Outlook.
  2. Noklikšķiniet uz Fails, pēc tam atlasiet Opcijas
  3. Tagad turpiniet un atlasiet Pielāgot lenti.
  4. Sadaļā Pielāgot lenti jūs pamanīsit saraksta lodziņu Izvēlēties komandas.
  5. Atlasiet Makro
  6. Pēc tam atlasiet savu jaunizveidoto VBA kodu, mūsu gadījumā nosaukumam jābūt SendMail.
  7. Pēc tam nospiediet Pievienot un pēc tam Labi. Ja vēlaties, iespējams, vēlēsities savam makro piešķirt ikonu.
  8. Jūsu makro būs pieejams ātrās piekļuves rīkjoslā Outlook lietojumprogrammas augšējā kreisajā pusē.

Iespējamās problēmas ar VBA makro iestatījumiem

Lai palaistu makro, iespējams, būs jāpielāgo jūsu Outlook makro iestatījumi. Ja tā, lūk, kā to izdarīt.

Bonuss: nosūtiet e-pasta ziņojumu no Outlook, izmantojot PowerShell

Pakalpojumā PowerShell varat izmantot Send-MailMessage cmdlet e-pasta sūtīšanai. Tomēr tas prasa, lai jūs autentificētos pasta serverī, un tas neatbalsta modernas autentifikācijas metodes, piemēram, OAuth un Microsoft Modern Authentication. Tāpēc e-pasta sūtīšana ir daudz vienkāršāka, ja datorā ir konfigurēts Outlook profils.

Šeit ir piemērs PowerShell skriptam, kas nolasa datus no Excel faila un izmanto Outlook profilu, lai nosūtītu e-pasta ziņojumu uz katrs lietotājs:

# atveriet Excel failu
$ExcelObj = jauns objekts - kopobjekts Excel.Aplikācija
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("1. lapa")
# Iegūstiet aizpildīto rindu skaitu xlsx failā
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Pārlūkojiet visas 1. kolonnas rindas, sākot no otrās rindas (šajās šūnās ir lietotājvārdi un e-pasta adreses).
for($i=2;$i -le $rindu skaits;$i++){
$lietotāja pasts = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Teksts
$FullUsername =  $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Teksts
$Statuss =  $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Teksts
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Teksts
# Ģenerējiet ziņojuma pamattekstu
$strSubj = " Jūsu konta statuss woshub.com domēnā "
$strBody = "Cien. " + $FullUsername
$strBody = $strBody + " `r`n Jūsu konts woshub.com domēnā atrodas " + $Statuss
$strBody = $strBody + "`r`n Pēdējās paroles maiņas datums un laiks ir: " +  $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Mēs pieņemam, ka programma Outlook darbojas. Ja tā nav, jums tā būs jāsāk ar komandu $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$e-pasts = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body =  $strBody
# Pievienojiet failu (ja nepieciešams)
$email.Attachments.add($strfile)
#nosūtīt e-pasta ziņojumu
$email.Send()
}
$ExcelWorkBook.close($true)

Powershell skripts, lai nosūtītu e-pastu no Outlook konfigurēta profila

Šis PowerShell skripts pieņem, ka jūsu datorā darbojas programma Outlook. Skripts ģenerē e-pasta tematu un pamattekstu katrai adresāta SMTP adresei XLSX failā un pievieno failu. Pēc tam nosūta e-pastu.


Kā rakstīt noderīgus makro Outlook 2016 un 2019 ziņojumos?

Kā rakstīt noderīgus makro Outlook 2016 un 2019 ziņojumos?

Vai esat jauns VBA makro, kas paredzēts Outlook automatizācijai? Uzziniet, kā ievietot VBA kodu programmā Outlook 365/2016/2019.

Kā dublēt sapulces un pasākumus savā Outlook 2019/365/2016 kalendārā?

Kā dublēt sapulces un pasākumus savā Outlook 2019/365/2016 kalendārā?

Uzziniet, kā ērti dublēt Outlook kalendāra notikumus, sapulces un tikšanās programmā Office 365, 2016 un 2019.

Outlook veidlapas: kā izveidot aizpildāmas veidlapas programmā Microsoft Office 2016/2019?

Outlook veidlapas: kā izveidot aizpildāmas veidlapas programmā Microsoft Office 2016/2019?

Uzziniet, kā izstrādāt un izveidot Outlook pielāgotas lietotāja veidlapas.

Kā atsvaidzināt Outlook iesūtnes pastu, ja tas netiek automātiski atjaunināts?

Kā atsvaidzināt Outlook iesūtnes pastu, ja tas netiek automātiski atjaunināts?

Vai Outlook iesūtne netiek automātiski atjaunināta? Uzziniet, kā varat automātiski atsvaidzināt savu Outlook 365/2019/2016/2013 iesūtni.

Kā pievienot gif attēlus programmā Outlook 2016/2019 e-pasta pamattekstam vai parakstam?

Kā pievienot gif attēlus programmā Outlook 2016/2019 e-pasta pamattekstam vai parakstam?

Uzziniet, kā pievienot/iegult un nosūtīt gif attēlu savam Outlook 2016 un 2019 izejošajam e-pasta ziņojumam.

Kāpēc programma Outlook ir bezsaistē vai ir atvienota un kā izveidot savienojumu no jauna?

Kāpēc programma Outlook ir bezsaistē vai ir atvienota un kā izveidot savienojumu no jauna?

Uzziniet, kā diagnosticēt un novērst dažādas Microsoft Outlook klienta atvienošanas problēmas operētājsistēmā Windows 10.

Kā nosūtīt e-pastu programmā Outlook, izmantojot VBA?

Kā nosūtīt e-pastu programmā Outlook, izmantojot VBA?

Uzziniet, kā rakstīt Outlook makro, lai automatizētu e-pasta sūtīšanu.

Pārtrauciet Outlook 365 / 2019 / 2016 kalendāra paziņojumu par sapulci un tikšanos uzniršanu

Pārtrauciet Outlook 365 / 2019 / 2016 kalendāra paziņojumu par sapulci un tikšanos uzniršanu

Uzziniet, kā atspējot atgādinājumus un paziņojumus no Outlook 2016/2019 kalendāriem gan operētājsistēmā Windows, gan MAC.

Kā panākt, lai programma Microsoft Outlook darbotos ātrāk (versijas 2019/365/2016)?

Kā panākt, lai programma Microsoft Outlook darbotos ātrāk (versijas 2019/365/2016)?

Uzziniet, kā uzlabot Outlook veiktspēju.

Kā mainīt Hotmail paroli operētājsistēmā Windows, Android tālrunī, iPhone vai iPad?

Kā mainīt Hotmail paroli operētājsistēmā Windows, Android tālrunī, iPhone vai iPad?

Šajā ziņā palīdzēsiet nomainīt Outlook.com konta paroli un sinhronizēt Windows visās jūsu ierīcēs.