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

Hur skickar jag e-post med flera bilagor bifogade i Excel?

Den här artikeln talar om att skicka ett e-postmeddelande via Outlook med flera bilagor bifogade i Excel.

Skicka e-post med flera bilagor bifogade i Excel med VBA-kod


Skicka e-post med flera bilagor bifogade i Excel med VBA-kod

Gör så här för att skicka ett e-postmeddelande med flera bilagor bifogade i Excel.

1. Sätt in en kommandoknapp genom att klicka Utvecklare > Insert > Kommandoknapp (ActiveX-kontroll). Se skärmdump:

2. När du har satt in kommandoknappen, högerklicka på den och välj Visa kod från snabbmenyn.

3. I öppningen Microsoft Visual Basic för applikationer klicka på fönstret verktyg > Referenser som nedan visas skärmdump.

4. I Referenser - VBAProject dialogrutan, vänligen hitta och kontrollera Microsoft Outlook-objektbibliotek och klicka sedan på OK knapp.

5. Byt sedan ut den ursprungliga koden i kodfönstret med nedanstående VBA-kod.

VBA-kod: Skicka e-post bifogad med flera bilagor i 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

Anmärkningar: ange din e-postmottagare, ämne och kropp genom att ändra varianten i .Till = happy.xuebi@163.com, .Subject = "test" och .HTMLBody = "test" rader i koden.

6. tryck på andra + Q knapparna tillsammans för att lämna Microsoft Visual Basic för applikationer fönster.

7. klick Utvecklare > Designläge för att stänga av designläget. Se skärmdump:

8. Klicka på kommandoknappen för att köra koden. I pop-up Bläddra markera de filer du behöver bifoga i e-postmeddelandet och klicka sedan på OK knapp. Se skärmdump:

9. Sedan skapas ett e-postmeddelande med angivna fält och bilagor listade. Klicka på Skicka för att skicka den. Se skärmdump:

Anmärkningar: VBA-koden fungerar bara när du använder Outlook som ditt e-postprogram.


Skicka enkelt e-post via Outlook baserat på fält i den skapade e-postlistan i Excel:

Du har nu möjlighet Skicka e-mail nytta av Kutools för Excel hjälper användare att skicka e-post via Outlook baserat på skapad e-postlista i Excel.
Ladda ner och prova nu! (30-dagars gratis led)



Relaterade artiklar:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (14)
Klassad 5 av 5 · 1 betyg
Denna kommentar minimerades av moderatoren på webbplatsen
Jag kan "Snabbt skicka e-post med flera bilagor bifogade i Excel med Kutools för Excel" med dina steg ovan, men skulle vilja ta det ett steg längre och anpassa varje e-postmeddelande genom att infoga deras namn (från en kolumn i Excel-arket) i e-postmeddelandets brödtext. När jag är i e-postmeddelandet försöker jag välja fältet och klicka på "Infoga platshållare" men ingenting händer. Någon idé om varför eller hur jag kan fixa detta? Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Vad händer om ovanstående filer finns i undermappar? Hur letar man efter en fil i mapp och undermappar?
Denna kommentar minimerades av moderatoren på webbplatsen
Vad händer om flera olika användare och olika bilagor ska skickas med olika ämnesrad.
Denna kommentar minimerades av moderatoren på webbplatsen
ovanstående kod fungerar perfekt tack!! men min automatiska e-signatur verkar försvinna med den här koden. någon aning om varför?
Denna kommentar minimerades av moderatoren på webbplatsen
HI Team ....jag kan inte se bilagan i e-post så om jag följer ditt steg...kan du snälla hjälpa
Denna kommentar minimerades av moderatoren på webbplatsen
Superb...... Fungerar perfekt.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har njutit av att arbeta igenom den här lösningen för att lägga till flera bilagor till ett e-postmeddelande från Excel VBA. Tack. Jag vet att många av oss gynnas och sedan vill ha någon aspekt anpassad för exakt vad vi försöker göra. Jag är inte annorlunda, men för steg 8. Kan vi sätta den väg som Bläddra fönstret öppnas med? Jag kan bläddra över till en annan mapp på en annan plats, men om jag kunde ställa in sökvägen skulle det spara tid.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Me gustaría sabre 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.
Tack så mycket.
Denna kommentar minimerades av moderatoren på webbplatsen
Är det också möjligt att använda ett filter för att lägga till urvalet av bilagorna, så att du bara kan lägga till pdf-filer till e-posten?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Alex de Graaf,
Koden anropar direkt Microsofts filvalsfönster. Detta gör det enkelt för VBA-användare att välja nödvändiga filer.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Crystal,

Ja, det förstår jag. Men jag vill att användarna endast ska kunna välja pdf-filer.
Är detta möjligt?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Alex de Graaf,
Följande VBA-kod listar endast PDF-filerna i Bläddra-fönstret. Vänligen ge det ett försök.

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
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Crystal,
Ja, det förstår jag. Men är det möjligt att begränsa användare till att bara välja pdf-filer?
Denna kommentar minimerades av moderatoren på webbplatsen
أريد إرسال بريد إلكتروني مع البريد أو hotmail مع CDO ولكن كل ما لدي فقط مع مرفق واحد ولكن أريد أن أرسل مع العديد من المرفقات يرجى إرسال لي عن طريق بريدي الإلكتروني الرمز أو ملف Excel naims62@hotmail.com
Klassad 5 av 5
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL