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

Jak wysłać wiadomość e-mail z wieloma załącznikami załączonymi w programie Excel?

W tym artykule mowa o wysyłaniu wiadomości e-mail za pośrednictwem programu Outlook z wieloma załącznikami w programie Excel.

Wyślij wiadomość e-mail z wieloma załącznikami załączonymi w programie Excel z kodem VBA


Wyślij wiadomość e-mail z wieloma załącznikami załączonymi w programie Excel z kodem VBA

Aby wysłać wiadomość e-mail z wieloma załącznikami w programie Excel, wykonaj następujące czynności.

1. Wstaw przycisk polecenia, klikając Deweloper > wstawka > Przycisk polecenia (formant ActiveX). Zobacz zrzut ekranu:

2. Po wstawieniu przycisku polecenia kliknij go prawym przyciskiem myszy i wybierz Wyświetl kod z menu kontekstowego.

3. W otwarciu Microsoft Visual Basic for Applications kliknij Narzędzia > Referencje jak pokazano na poniższym zrzucie ekranu.

4. w Referencje - VBAProject w oknie dialogowym, znajdź i zaznacz plik Biblioteka obiektów programu Microsoft Outlook opcję, a następnie kliknij OK przycisk.

5. Następnie zamień oryginalny kod w oknie Kod na poniższy kod VBA.

Kod VBA: wyślij wiadomość e-mail załączoną z wieloma załącznikami w programie 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

Uwagi: określ odbiorcę, temat i treść wiadomości e-mail, zmieniając wartość .Do = happy.xuebi@163.com, .Subject = "test" i .HTMLBody = "test" wiersze w kodzie.

6. wciśnij inny + Q klucze razem, aby wyjść z Microsoft Visual Basic for Applications okno.

7. kliknij Deweloper > Tryb projektowania aby wyłączyć tryb projektowania. Zobacz zrzut ekranu:

8. Kliknij przycisk polecenia, aby uruchomić kod. W wyskakującym okienku Przeglądaj wybierz pliki, które chcesz załączyć do wiadomości e-mail, a następnie kliknij OK przycisk. Zobacz zrzut ekranu:

9. Następnie tworzony jest e-mail z wyszczególnionymi polami i załącznikami. Proszę kliknąć Wyślij przycisk, aby go wysłać. Zobacz zrzut ekranu:

Uwagi: Kod VBA działa tylko wtedy, gdy używasz Outlooka jako programu pocztowego.


Z łatwością wysyłaj wiadomości e-mail przez Outlooka na podstawie pól utworzonej listy mailingowej w Excelu:

Podróż Ruta de la Plata w liczbach Wysyłać emaile użyteczność Kutools dla programu Excel pomaga użytkownikom wysyłać wiadomości e-mail przez Outlooka na podstawie utworzonej listy mailingowej w Excelu.
Pobierz i wypróbuj teraz! (30-dzień bezpłatny szlak)



Podobne artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół
Sortuj komentarze według
Komentarze (14)
Znamionowy 5 z 5 · 1 oceny
Ten komentarz został zminimalizowany przez moderatora na stronie
Jestem w stanie „Szybko wysłać wiadomość e-mail z wieloma załącznikami dołączonymi w programie Excel z Kutools for Excel”, wykonując powyższe kroki, ale chciałbym pójść o krok dalej i spersonalizować każdy e-mail, wstawiając ich nazwy (z kolumny w arkuszu Excel) do treści wiadomości e-mail. W treści e-maila próbuję zaznaczyć pole i kliknąć „Wstaw symbol zastępczy”, ale nic się nie dzieje. Masz pomysł, dlaczego lub jak mogę to naprawić? Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
Co jeśli powyższe pliki znajdują się w podfolderach? Jak szukać pliku w folderze i podfolderach?
Ten komentarz został zminimalizowany przez moderatora na stronie
Co jeśli wielu różnych użytkowników i różne załączniki zostaną wysłane z innym tematem.
Ten komentarz został zminimalizowany przez moderatora na stronie
powyższy kod działa idealnie dzięki!! ale mój automatyczny podpis e-mail wydaje się zniknąć z tym kodem. jakiś pomysł dlaczego?
Ten komentarz został zminimalizowany przez moderatora na stronie
Zespół HI .... nie widzę załącznika w wiadomości e-mail, więc jeśli pójdę za twoim krokiem ... czy możesz pls pomóc
Ten komentarz został zminimalizowany przez moderatora na stronie
Wspaniale ...... Działa idealnie.
Ten komentarz został zminimalizowany przez moderatora na stronie
Podobała mi się praca nad tym rozwiązaniem w celu dodawania wielu załączników do wiadomości e-mail z poziomu Excel VBA. Dziękuję Ci. Wiem, że wielu z nas odnosi korzyści, a następnie chce, aby jakiś aspekt był dostosowany dokładnie do tego, co staramy się zrobić. Nie jestem inny, ale w kroku 8. Czy możemy ustawić ścieżkę, którą Przeglądaj otworzy się okno z? Mogę przejść do innego folderu w innej lokalizacji, ale gdybym mógł ustawić ścieżkę, oszczędziłoby to czasu.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Me gustaria 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.
Dziękuję bardzo.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy 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?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Alex de Graaf,
Kod bezpośrednio wywołuje okno wyboru plików firmy Microsoft. Ułatwia to użytkownikom VBA wybór potrzebnych plików.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Kryształowo,

Tak rozumiem to. Jednak chcę, aby użytkownicy mogli wybierać tylko pliki pdf.
Czy to możliwe?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Alex de Graaf,
Poniższy kod VBA wyświetla tylko pliki PDF w oknie Przeglądaj. Proszę spróbować.

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
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Kryształowo,
Tak, rozumiem to. Czy można jednak ograniczyć użytkownikom tylko wybór plików pdf?
Ten komentarz został zminimalizowany przez moderatora na stronie
ال لكتروني مع البريد ال م ال Excel.
Znamionowy 5 z 5
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL