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.


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.

Ako obnoviť moju doručenú poštu programu Outlook, keď sa automaticky neaktualizuje?

Ako obnoviť moju doručenú poštu programu Outlook, keď sa automaticky neaktualizuje?

Doručená pošta programu Outlook sa neaktualizuje automaticky? Zistite, ako môžete automaticky obnoviť doručenú poštu v Outlooku 365/2019/2016/2013.

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.

Prečo je Outlook offline alebo odpojený a ako sa znova pripojiť?

Prečo je Outlook offline alebo odpojený a ako sa znova pripojiť?

Zistite, ako diagnostikovať a riešiť rôzne problémy s odpojením klienta Microsoft Outlook v systéme Windows 10.

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

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

Naučte sa písať makrá programu Outlook na automatizáciu odosielania e-mailov.

Zastavte zobrazovanie upozornení kalendára Outlook 365/2019/2016 na schôdze a plánované činnosti

Zastavte zobrazovanie upozornení kalendára Outlook 365/2019/2016 na schôdze a plánované činnosti

Zistite, ako zakázať pripomienky a upozornenia z kalendárov Outlooku 2016/2019 v systéme Windows aj MAC.

Ako zabezpečiť, aby Microsoft Outlook bežal rýchlejšie (verzie 2019 / 365/ 2016)?

Ako zabezpečiť, aby Microsoft Outlook bežal rýchlejšie (verzie 2019 / 365/ 2016)?

Zistite, ako zlepšiť výkon Outlooku.

Ako zmeniť heslo služby Hotmail v systéme Windows, telefóne s Androidom, iPhone alebo iPad?

Ako zmeniť heslo služby Hotmail v systéme Windows, telefóne s Androidom, iPhone alebo iPad?

Tento príspevok vám pomôže zmeniť heslo účtu Outlook.com a synchronizovať systém Windows na všetkých zariadeniach.