Jak odeslat e-mail v aplikaci Outlook s VBA?

Aktualizováno: říjen 2023; Platí pro Microsoft Outlook 365/2019/2016

Úvod

Automatizace odesílání e-mailů pomocí VBA v aplikaci Outlook může výrazně zjednodušit pracovní procesy. V tomto článku se podíváme na kroky, jak psát makra aplikace Outlook pro automatické odesílání e-mailů.

Obsah

  1. Psaní VBA pro odesílání e-mailů
  2. Zkratka makra aplikace Outlook VBA
  3. Možné problémy s nastavením maker VBA
  4. Bonus: Odešlete e-mail z aplikace Outlook pomocí PowerShellu

Psaní VBA pro odesílání e-mailů

Při psaní VBA kódu pro odesílání e-mailů v aplikaci Outlook následujeme tyto kroky:

  1. Vytvoříme novou e-mailovou položku pomocí objektového modelu VBA Outlook.
  2. Nastavíme důležitost zprávy, příjemce a obsah textu.
  3. Zprávu zobrazíme v aplikaci Outlook.
  4. Odešleme ji příjemcům.

Zde je jednoduchý kód VBA pro automatické vytváření a odesílání e-mailů:

Sub SendMail()
Dim MyEmail As MailItem
Set MyEmail = Application.CreateItem(olMailItem)
With MyEmail
    .To = "prijemce@example.com" 
    .Importance = olImportanceHigh 
    .Subject = "Předmět zprávy"
    .Body = "Toto je tělo zprávy."
    .BodyFormat = olFormatHTML
    .Display ' Zobrazí zprávu (změňte na .Send pro přímo odeslání)
End With
' Odešlete e-mail
' MyEmail.Send ' Odkomentujte, chcete-li odeslat e-mail
End Sub

Zkratka makra aplikace Outlook VBA

Chcete-li rychle spustit makro, můžete jej přiřadit k tlačítku v aplikaci Outlook:

  1. Otevřete aplikaci Microsoft Outlook.
  2. Klikněte na Soubor a vyberte Možnosti.
  3. Vyberte Přizpůsobit pás karet.
  4. Vyberte Makra v seznamu Vybrat příkazy z.
  5. Vyberte váš kód VBA a stiskněte Přidat.
  6. Potvrďte kliknutím na OK.

Možné problémy s nastavením maker VBA

Aby bylo možné spouštět makra, může být potřeba upravit nastavení aplikace Outlook. Zde je návod, jak to udělat.

Bonus: Odešlete e-mail z aplikace Outlook pomocí PowerShellu

V PowerShellu můžete použít cmdlet Send-MailMessage, avšak vyžaduje to ověření na poštovním serveru a nepodporuje moderní metody jako OAuth. Odesílání e-mailů je proto snazší, pokud máte v počítači nakonfigurovánu aplikaci Outlook.

Zde je příklad PowerShell skriptu, který odešle e-mail některým uživatelům z propojeného souboru Excel:

# otevřete soubor Excel
$ExcelObj = New-Object -comobject Excel.Application
$ExcelWorkBook = $ExcelObj.Workbooks.Open("C:\PS\user_list.xlsx")
$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item("Sheet1")
# Získejte počet vyplněných řádků v souboru xlsx
$rowcount=$ExcelWorkSheet.UsedRange.Rows.Count
# Projděte všechny řádky ve sloupci 1, začněte od druhého řádku
for($i=2;$i -le $rowcount;$i++){
    $useremail = $ExcelWorkSheet.Columns.Item(1).Rows.Item($i).Text
    ...
    $email.Send()
}
$ExcelWorkBook.close($true)

Skript PowerShell pro odesílání e-mailů z nakonfigurovaného profilu aplikace Outlook

Tento skript předpokládá, že máte spuštěnou aplikaci Outlook a generuje předmět a tělo e-mailu pro každou e-mailovou adresu příjemce v souboru XLSX.

10 Comments

  1. Petr Šimek -

    Super článek! Mám pár dotazů ohledně toho, jak přizpůsobit šablonu e-mailu. Můžu to udělat i v Outlook VBA? Díky za odpověď nebo za další tipy

  2. Kateřina Lišková -

    Wow, tohle mi ušetří spoustu času při posílání hromadných e-mailů! Poslal jsem e-mail mým kolegům a vše fungovalo perfektně, díky moc

  3. Hana K. z Brna -

    Chci se podělit o svojí zkušenost. Používám VBA pro automatizaci e-mailů již několik měsíců. Nikdy jsem neměla žádné potíže. Jen jsem musela zjistit, jak pracovat s bezpečnostními nastaveními, abych mohla posílat e-maily bez problémů!

  4. Lukáš M. 789 -

    Tenhle návod je opravdu užitečný! Mám několik projektů, kde využívám VBA a potřebuji posílat notifikace e-mailem. Budu to určitě vyzkoušet a podělím se o výsledek!

  5. Jitka Kopecká -

    Neznal jsem vůbec VBA, ale díky tomuto článku jsem se k tomu dostala. Cítím se jako královná IT! :) Už se těším, až to budu moci aplikovat v práci

  6. Jana Nováková -

    Díky za skvělý návod na odesílání e-mailů pomocí VBA v Outlooku! Nikdy jsem nevěděla, že to může být tak jednoduché. Zdá se mi, že teď to zvládnu i já, i když jsem spíš začátečník

  7. Tomáš Hrnčíř -

    Skvělé! Mám ale problém s tím, že když použiju VBA, e-maily se občas neodesílají. Mám nějakou chybu ve skriptu, nebo je to nastavením Outlooku? Kdo má stejný problém

  8. Martin B. IT -

    Díky za skvělý tip! Zkoušel jsem použít VBA v Outlooku a některé funkce fungují naprosto skvěle. Určitě doporučím tento článek svým kolegům.

  9. Tereza Z. z Prahy -

    Ummmm, díky moc! Mám tak ráda, když najdu jednoduché návody. Odesílání e-mailů pomocí VBA mě nikdy nenapadlo, ale teď to chci vyzkoušet. Snad to dostanu do rukou

  10. Lucie Poměnková -

    Moc díky za tento článek, opravdu mi pomohl! Mám dotaz, je možné posílat e-maily s přílohami pomocí VBA? Kdo už to zkoušel, dejte vědět

Leave a Comment

Přidat nový firemní / osobní / sdílený kalendář do Outlooku 2019, 365 a 2016?

Přidat nový firemní / osobní / sdílený kalendář do Outlooku 2019, 365 a 2016?

Zjistěte, jak můžete do Microsoft Outlooku 2019, 365 a 2016 vložit nový osobní, firemní nebo sdílený kalendář. Odborné rady pro zlepšení vašeho organizačního procesu.

Jak zapnout a vypnout kontrolu pravopisu v aplikaci Outlook a Microsoft Word?

Jak zapnout a vypnout kontrolu pravopisu v aplikaci Outlook a Microsoft Word?

Přečtěte si, jak povolit a zakázat automatickou kontrolu pravopisu v aplikacích Microsoft Outlook a Word.

Jak udržovat e-maily jako přečtené v Outlooku 2019, 365 a 2016?

Jak udržovat e-maily jako přečtené v Outlooku 2019, 365 a 2016?

Zjistěte, jak nakonfigurovat Outlook tak, aby vaše e-mailové zprávy nechal nepřečtené poté, co je zobrazíte v podokně čtečky. Efektivní správa e-mailů v Outlooku.

Vytvořte si vlastní hlasovací tlačítka pro své zprávy Outlook 2016 a 2019

Vytvořte si vlastní hlasovací tlačítka pro své zprávy Outlook 2016 a 2019

Přečtěte si, jak přidat a vložit vlastní tlačítko Outlooku do těla e-mailu s možností hlasování.

Jak odeslat e-mail v aplikaci Outlook s VBA?

Jak odeslat e-mail v aplikaci Outlook s VBA?

Naučte se psát makra aplikace Outlook pro automatizaci odesílání e-mailů s VBA.

Zastavte a odstraňte duplicitní e-mailové zprávy v aplikaci Outlook 2016 a 2019

Zastavte a odstraňte duplicitní e-mailové zprávy v aplikaci Outlook 2016 a 2019

Odstraňte duplicitní e-maily v Outlooku 2016, 2019 a 365. Naučte se efektivní řešení pro správu e-mailových položek.

Jak duplikovat schůzky a události ve vašem kalendáři Outlook 2019 / 365 / 2016?

Jak duplikovat schůzky a události ve vašem kalendáři Outlook 2019 / 365 / 2016?

Zjistěte, jak snadno duplikovat události kalendáře Outlooku, schůzky a schůzky v Office 365, 2016 a 2019.

Jak změnit heslo služby Hotmail ve Windows, telefonu Android, iPhone nebo iPad?

Jak změnit heslo služby Hotmail ve Windows, telefonu Android, iPhone nebo iPad?

Tento příspěvek vám pomůže změnit heslo k účtu Outlook.com a udržovat synchronizaci systému Windows na všech vašich zařízeních.

Ztlumit a vypnout příchozí výstrahy Outlooku na ploše v Office 2019 a 365

Ztlumit a vypnout příchozí výstrahy Outlooku na ploše v Office 2019 a 365

Přečtěte si, jak snadno deaktivovat oznámení a zvuky příchozí pošty v aplikaci Outlook.

Jak upravit zbarvení odrážek ve Wordu?

Jak upravit zbarvení odrážek ve Wordu?

V tomto příspěvku se dozvíte, jak upravit seznamy s odrážkami, včetně úpravy barvy a velikosti bodů v Excelu, PowerPointu a Wordu 365 / 2016 / 2019.