Ako poslať e-mail v programe Outlook s VBA?

Aktualizované: august 2021; Platí pre Microsoft Outlook 365/2019/2016

Tu je poznámka, ktorú sme dostali od čitateľa.

Ďakujeme za vašu veľmi užitočnú pomoc s kódovaním programu Outlook. Zaujímalo by ma, či môžete zdieľať nejaký kód, ktorý pomôže automatizovať odosielanie e-mailov v programe Outlook? Viem, že existuje niekoľko spôsobov, ako posielať opakujúce sa správy, ale konkrétne ma zaujíma použitie VBA pre túto úlohu.

dakujem za otazku. Zdá sa, že automatické odosielanie e-mailov patrí medzi najužitočnejšie a najobľúbenejšie úlohy, ktoré môžete automatizovať pomocou VBA. Prečítajte si ďalšie podrobnosti a jednoduchý skript, ktorý vám pomôže začať tu.

Písanie VBA na odosielanie e-mailov programu Outlook

V pomerne jednoduchom príklade nižšie pokryjeme nasledujúce kroky:

  1. Najprv použijeme objektový model VBA Outlook na vytvorenie novej e-mailovej položky.
  2. Potom budeme pokračovať a nastavíme dôležitosť správy, príjemcov (oddelených bodkočiarkami) a štýl a obsah hlavného textu.
  3. Potom správu zobrazíme vo vašej aplikácii Microsoft Outlook.
  4. Nakoniec pokračujeme a pošleme to príjemcom.

Tu je jednoduchý kód VBA na automatické vytváranie a odosielanie jednoduchých e-mailov. Všimnite si, že tento skript môžete jednoducho vylepšiť tak, aby obsahoval prílohy súborov, úlohy atď., ale začnime s veľmi jednoduchým skriptom.

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

Skratka makra Outlook VBA

Možno by ste sa chceli pozrieť na priradenie kódu VBA, ktorý ste práve napísali, k príkazovému tlačidlu v programe Outlook. To vám umožní jednoducho ho spustiť zo skratky umiestnenej na páse s nástrojmi programu Outlook.

Postup:

  1. Najprv pokračujte a otvorte Microsoft Outlook.
  2. Kliknite na Súbor a potom vyberte Možnosti
  3. Teraz pokračujte a vyberte položku Prispôsobiť pásku.
  4. V časti Prispôsobiť pás s nástrojmi si všimnete zoznam Vybrať príkazy z.
  5. Vyberte možnosť Makrá
  6. Potom vyberte svoj novovytvorený kód VBA, v našom prípade by mal byť názov SendMail.
  7. Potom stlačte Pridať a potom OK. Voliteľne možno budete chcieť k makru priradiť ikonu.
  8. Vaše makro bude dostupné na paneli s nástrojmi Rýchly prístup v ľavej hornej časti aplikácie Outlook.

Možné problémy s nastaveniami makra VBA

Ak chcete spustiť makrá, možno bude potrebné vyladiť nastavenia makier programu Outlook. Ak áno, tu je návod, ako to urobiť.

Bonus: Odošlite e-mail z programu Outlook pomocou prostredia PowerShell

V prostredí PowerShell môžete na odosielanie e-mailov použiť cmdlet Send-MailMessage . Vyžaduje však, aby ste sa overili na poštovom serveri, a nepodporuje moderné metódy overenia, ako je OAuth a Microsoft Modern Authentication. Odoslanie e-mailu je teda oveľa jednoduchšie, ak máte v počítači nakonfigurovaný profil programu Outlook.

Tu je príklad skriptu PowerShell, ktorý číta údaje zo súboru programu Excel a používa profil programu Outlook na odoslanie e-mailu každý používateľ:

# otvorte súbor programu Excel
$ExcelObj = New-Object -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Hárok1")
# Získajte počet vyplnených riadkov v súbore xlsx
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Prejdite všetky riadky v stĺpci 1, počnúc druhým riadkom (tieto bunky obsahujú používateľské mená a e-maily).
for($i=2;$i -le $rowcount;$i++){
$useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
$FullUsername =  $ExcelWorkSheet.Columns.Item(2).Rows.Item($i).Text
$Status =  $ExcelWorkSheet.Columns.Item(4).Rows.Item($i).Text
$pwdchange = $ExcelWorkSheet.Columns.Item(3).Rows.Item($i).Text
# Generovanie textu správy
$strSubj = " Stav vášho účtu na doméne woshub.com "
$strBody = "Vážený " + $FullUsername
$strBody = $strBody + " `r`n Váš účet v doméne woshub.com je v " + $Status
$strBody = $strBody + "`r`n Dátum a čas poslednej zmeny hesla je: " +  $pwdchange
$strfile="C:\ps\" + $useremail + ".txt"
# Predpokladáme, že Outlook je spustený, ak nie, budete ho musieť spustiť príkazom $outlook = new-object -comobject outlook.application
$outlook = [Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application")
$email = $outlook.CreateItem(0)
$email.To = $useremail
$email.Subject = $strSubj
$email.Body =  $strBody
# Pripojte súbor (ak je to potrebné)
$email.Attachments.add($strfile)
#odoslať e-mailovú správu
$email.Send()
}
$ExcelWorkBook.close($true)

powershell skript na odosielanie e-mailov z profilu nakonfigurovaného v programe Outlook

Tento skript PowerShell predpokladá, že na vašom počítači je spustený program Outlook. Skript vygeneruje predmet a telo e-mailu pre každú SMTP adresu príjemcu v súbore XLSX a pripojí súbor. Potom odošle e-mail.


Stlmiť a vypnúť prichádzajúce upozornenia programu Outlook na pracovnej ploche v Office 2019 a 365

Stlmiť a vypnúť prichádzajúce upozornenia programu Outlook na pracovnej ploche v Office 2019 a 365

Zistite, ako jednoducho vypnúť upozornenia a zvuky prichádzajúcej pošty v programe Outlook.

Vytvorte si vlastné orámovanie strany v dokumente programu Word 2016/365/2019

Vytvorte si vlastné orámovanie strany v dokumente programu Word 2016/365/2019

Prečítajte si, ako si môžete jednoducho vytvoriť svoje vlastné okraje vo Worde 365 / 2019 / 365. Štýlové orámovanie stránok, ktoré dodá vašim dokumentom jedinečný vzhľad.

Ako vytvoriť pripomienky v schôdzach a stretnutiach v Microsoft Outlook 365?

Ako vytvoriť pripomienky v schôdzach a stretnutiach v Microsoft Outlook 365?

Zistite, ako jednoducho pridať pripomienky k udalostiam kalendára v Microsoft Outlook 365.

Ako pridať obrázky gif do tela e-mailu alebo podpisu programu Outlook 2016 / 2019?

Ako pridať obrázky gif do tela e-mailu alebo podpisu programu Outlook 2016 / 2019?

Zistite, ako pridať/vložiť a odoslať obrázok GIF do odchádzajúceho e-mailu z Outlooku 2016 a 2019.

Pridať nový pracovný / osobný / zdieľaný kalendár do Outlooku 2019, 365 a 2016?

Pridať nový pracovný / osobný / zdieľaný kalendár do Outlooku 2019, 365 a 2016?

Zistite, ako môžete vložiť nový osobný, pracovný alebo zdieľaný kalendár do Microsoft Outlooku 2019, 365 a 2016.

Ako zmeniť sfarbenie odrážok v programe Word?

Ako zmeniť sfarbenie odrážok v programe Word?

V tomto príspevku sa dozviete, ako upraviť odrážkové zoznamy / farbu a veľkosť bodov v Exceli, PowerPointe a Worde 365 / 2016/ 2019.

Ako zapnúť a vypnúť kontrolu pravopisu v programe Outlook a Microsoft Word?

Ako zapnúť a vypnúť kontrolu pravopisu v programe Outlook a Microsoft Word?

Zistite, ako povoliť a zakázať automatickú kontrolu pravopisu v programoch Microsoft Outlook a Word. Naučte sa efektívne využívať pravopisnú kontrolu pre bezchybné písanie.

Ako písať užitočné makrá v správach programu Outlook 2016 a 2019?

Ako písať užitočné makrá v správach programu Outlook 2016 a 2019?

Ste novým používateľom makier VBA pre automatizáciu Outlooku? Zistite, ako vložiť kód VBA do Outlooku 365/2016/2019.

Ako duplikovať stretnutia a udalosti v kalendári Outlook 2019 / 365 / 2016?

Ako duplikovať stretnutia a udalosti v kalendári Outlook 2019 / 365 / 2016?

Zistite, ako jednoducho duplikovať udalosti kalendára Outlooku, schôdze a plánované činnosti v Office 365, 2016 a 2019.

Outlook Forms: Ako vytvoriť vyplniteľné formuláre v Microsoft Office 2016 / 2019?

Outlook Forms: Ako vytvoriť vyplniteľné formuláre v Microsoft Office 2016 / 2019?

Zistite, ako môžete navrhnúť a vytvoriť vlastné používateľské formuláre programu Outlook.