Note: The other languages of the website are Google-translated. Back to English
English English

Jak odeslat e-mail s více přílohami připojenými v aplikaci Excel?

Tento článek hovoří o odesílání e-mailů prostřednictvím aplikace Outlook s více přílohami připojenými v aplikaci Excel.

Odesílejte e-maily s více přílohami připojenými v aplikaci Excel pomocí kódu VBA


Odesílejte e-maily s více přílohami připojenými v aplikaci Excel pomocí kódu VBA


Chcete-li odeslat e-mail s více přílohami v aplikaci Excel, postupujte následovně.

1. Vložte příkazové tlačítko kliknutím Vývojka > Vložit > Příkazové tlačítko (ovládání ActiveX). Viz snímek obrazovky:

2. Po vložení příkazového tlačítka na něj klikněte pravým tlačítkem a vyberte Zobrazit kód z kontextové nabídky.

3. V otvoru Microsoft Visual Basic pro aplikace okno, klikněte prosím Tools > Reference jak je ukázáno níže.

4. V Reference - VBAProject V dialogovém okně vyhledejte a zkontrolujte Objektová knihovna Microsoft Outlook možnost a poté klikněte na OK .

5. Poté nahraďte původní kód v okně Kód za níže uvedený kód VBA.

Kód VBA: Odesílejte e-maily s více přílohami v aplikaci Excel

Private Sub CommandButton1_Click()
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = "happy.xuebi@163.com"
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Poznámka: změňte variantu uveďte příjemce e-mailu, předmět a tělo .To = happy.xuebi@163.com, .Subject = "test" a .HTMLBody = "test" řádky v kódu.

6. zmáčkni Další + Q klávesy společně opustíte Microsoft Visual Basic pro aplikace okno.

7. cvaknutí Vývojka > Režim návrhu vypnete režim návrhu. Viz screenshot:

8. Klepnutím na příkazové tlačítko spusťte kód. Ve vyskakovacím okně Procházet V okně vyberte soubory, které potřebujete připojit k e-mailu, a poté klikněte na ikonu OK knoflík. Viz screenshot:

9. Poté se vytvoří e-mail se zadanými poli a přílohami. Klikněte prosím na Poslat tlačítko pro odeslání. Viz screenshot:

Poznámka: Kód VBA funguje, pouze když používáte Outlook jako svůj e-mailový program.


Snadno odesílejte e-maily prostřednictvím aplikace Outlook na základě polí vytvořeného seznamu adres v aplikaci Excel:

Projekt Odeslat e-maily užitečnost Kutools pro Excel pomáhá uživatelům odesílat e-maily prostřednictvím Outlooku na základě vytvořeného seznamu adres v aplikaci Excel.
Stáhněte si a vyzkoušejte hned! (30denní trasa zdarma)



Související články:


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50% a omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (14)
Hodnocení 5 z 5 · 1 hodnocení:
Tento komentář byl moderátorem webu minimalizován
Jsem schopen "Rychle odeslat e-mail s více přílohami připojenými v Excelu pomocí Kutools pro Excel" pomocí vašich kroků výše, ale rád bych to udělal ještě o krok dále a přizpůsobil každý e-mail vložením jejich jmen (ze sloupce v listu Excel) do těla e-mailu. Když jsem v těle e-mailu, zkouším vybrat pole a kliknout na "Vložit zástupný symbol", ale nic se neděje. Máte nápad, proč nebo jak to mohu opravit? Děkuji!
Tento komentář byl moderátorem webu minimalizován
Co když jsou výše uvedené soubory umístěny v podsložkách? Jak hledat soubor ve složce a podsložkách?
Tento komentář byl moderátorem webu minimalizován
Co když má být odesláno více různých uživatelů a různé přílohy s jiným předmětem.
Tento komentář byl moderátorem webu minimalizován
výše uvedený kód funguje perfektně díky!! ale zdá se, že můj e-mailový automatický podpis s tímto kódem zmizí. nějaký nápad proč?
Tento komentář byl moderátorem webu minimalizován
HI Team .... nemohu vidět přílohu v e-mailu, takže pokud budu postupovat podle vašeho kroku ... můžete mi pls pomoci
Tento komentář byl moderátorem webu minimalizován
Skvělé...... Funguje perfektně.
Tento komentář byl moderátorem webu minimalizován
Bavilo mě pracovat s tímto řešením pro přidávání více příloh k e-mailu z aplikace Excel VBA. Děkuji. Vím, že mnoho z nás má z toho prospěch a pak chce nějaký aspekt přizpůsobený přesně tomu, co se snažíme dělat. Nejsem jiný, ale pro krok 8. Můžeme nastavit cestu, kterou Procházet okno se otevře s? Mohu procházet do jiné složky na jiném místě, ale pokud bych mohl nastavit cestu, šetřilo by to čas.
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Me gustaría saber como quedaría la macro si quisiera enviar en un mismo correo a varias personas o más y con varios ficheros o más.
Děkuju mnohokrát.
Tento komentář byl moderátorem webu minimalizován
Je het ook mogelijk om een ​​filter te zetten op de selectie van de bijlagen, zodat er alleen pdf-bestanden aan de mail kunnen worden toegevoegd?
Tento komentář byl moderátorem webu minimalizován
Ahoj Alex de Graaf,
Kód přímo volá okno pro výběr souborů Microsoftu. To uživatelům VBA usnadňuje výběr potřebných souborů.
Tento komentář byl moderátorem webu minimalizován
Ahoj Crystal,

Ano, tomu rozumím. Chci však, aby uživatelé mohli vybírat pouze soubory PDF.
Je to možné?
Tento komentář byl moderátorem webu minimalizován
Ahoj Alex de Graaf,
Následující kód VBA uvádí v okně Procházet pouze soubory PDF. Zkuste to prosím.

Private Sub CommandButton1_Click()
'Updated by Extendoffice 20220714
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    xFileDlg.Filters.Add "PDF", "*.pdf", 1
xFileDlg.FilterIndex = 1
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = "happy.xuebi@163.com"
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub
Tento komentář byl moderátorem webu minimalizován
Ahoj Crystal,
Ano, tomu rozumím. Je však možné omezit uživatele na pouze vybrané soubory PDF?
Tento komentář byl moderátorem webu minimalizován
أريد إرسال بريد إلكتروني مع البريد أو hotmail مع CDO ولكن كل ما لدي فقط مع مرفق واحد ولكن أريد أن أرسل مع العديد من المرفقات يرجى إرسال لي عن طريق بريدي الإلكتروني الرمز أو ملف Excel naims62@hotmail.com
Hodnocení 5 z 5
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění