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

Hoe stuur ik een e-mail via Outlook wanneer de werkmap is opgeslagen in Excel?

In dit artikel wordt gesproken over het verzenden van een e-mail via Outlook wanneer een specifieke werkmap wordt opgeslagen in Excel. Doe alstublieft wat de tutorial laat zien.

Stuur een e-mail via Outlook wanneer de werkmap is opgeslagen met VBA-code


Stuur een e-mail via Outlook wanneer de werkmap is opgeslagen met VBA-code


Ga als volgt te werk om een ​​e-mail via Outlook te verzenden wanneer de werkmap is opgeslagen in Excel.

1. Sla de werkmap eerst op als een Excel-werkmap met ingeschakelde macro's. Klik Dien in > Opslaan als. In de Opslaan als dialoogvenster, selecteer een map om de werkmap op te slaan, geef deze een naam in het vak Bestandsnaam en selecteer Excel-werkmap met ingeschakelde macro's van de Opslaan als type vervolgkeuzelijst en klik vervolgens op het Bespaar knop. Zie screenshot:

2. Open de Excel-werkmap met ingeschakelde macro's die u zojuist hebt opgeslagen, druk op anders + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.

2. In de Microsoft Visual Basic voor toepassingen venster, dubbelklik Dit Werkboek in de linkerbalk en kopieer en plak de onderstaande VBA-code in het Dit Werkboek codevenster. Zie screenshot:

VBA-code: stuur een e-mail wanneer de werkmap is opgeslagen

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20181102
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = "Email Address"
        .CC = ""
        .Subject = "The workbook has been saved"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

Opmerking:: Vervang de Email adres met het e-mailadres van de ontvanger in de rij .To = "E-mailadres" en verander de Cc, het onderwerp en de body-velden in de VBA-code als je nodig hebt.

3. druk de anders + Q toetsen tegelijk om het Microsoft Visual Basic voor toepassingen venster.

Vanaf nu, wanneer u de werkmap bijwerkt en opslaat, wordt automatisch een e-mail gemaakt met een bijgewerkte werkmap als bijlage. Klik op het Verstuur knop om de e-mail te verzenden. Zie screenshot:

Opmerking:: De VBA-code werkt alleen als u Outlook als uw e-mailprogramma gebruikt.


Gerelateerde artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert elke dag honderden muisklikken!
officetab onderkant
Comments (17)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hoe de e-mailmelding in VBA te automatiseren op basis van datumbereik, zonder de pop-up voor beveiligingstoestemming te hoeven zien om VBA de e-mail te laten verzenden.
Deze opmerking is gemaakt door de moderator op de site
Gracia's. Raadplegen: gebruik maken van een rutina, como podría enviar el correo a un correo específico dependiendo el valor de otra celda?
Deze opmerking is gemaakt door de moderator op de site
Beste allemaal, ik zou graag willen vragen hoe ik een functionele link aan een bepaalde map op de server kan toevoegen, als ik de link plak, verschijnt het in de werkmap net als platte tekst en werkt het dus niet in ontvangen e-mail, hoe kan ik er een link van maken, zodat de ontvangers erop kunnen klikken?
Ik zou deze manier willen gebruiken in plaats van het ingesloten Excel-bestand te verzenden.
Bedankt voor het advies
Deze opmerking is gemaakt door de moderator op de site
Hallo robert
Sorry kan hier niet mee helpen, welkom om elke vraag over Excel op ons forum te plaatsen: https://www.extendoffice.com/forum.html. Je krijgt meer Excel-ondersteuning van onze professionele of andere Excel-fans.
Deze opmerking is gemaakt door de moderator op de site
Ik heb dit in de hoofdtekst van de e-mail geplaatst en het werkte voor mij ...
"file:///Z:\dir1\dir2\dir3\Test1.xlsm"
Deze opmerking is gemaakt door de moderator op de site
Hoi, leuk artikel! Een ding dat ik hiermee heb geprobeerd te bereiken, is om de huidige status van de werkmap aan de e-mail toe te voegen.

Op dit moment verzendt het alleen de oorspronkelijke staat van het bestand en bevat het geen wijzigingen die de gebruiker zou hebben aangebracht.

Om het even welke ideeën op hoe te om dit gebruikend een macro te implementeren?
Deze opmerking is gemaakt door de moderator op de site
Hallo Chris,
De code is bijgewerkt en het probleem is opgelost, probeer het alstublieft. Bedankt voor je reactie.
Deze opmerking is gemaakt door de moderator op de site
Hallo Chris,

Ik ben toevallig op hetzelfde probleem uitgekomen.
Momenteel worden de codes gebruikt in de "beforesave"-module.
Wat betekent dat de e-mail de spreadsheet verzendt die eerder is opgeslagen.

Er is nog een module "aftersave".
Ik heb de code in deze module toegepast en het werkte als een zonnetje.
Deze opmerking is gemaakt door de moderator op de site
Hoe zou dit worden afgehandeld voor een Office 365-document. Het wordt automatisch opgeslagen.
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om de geautomatiseerde e-mail automatisch te versleutelen?
Deze opmerking is gemaakt door de moderator op de site
Hi Mike,
Sorry kan het niet helpen om dit probleem op te lossen. Bedankt voor je reactie.
Deze opmerking is gemaakt door de moderator op de site
Hoi! Heel erg bedankt voor deze richtlijn :-) Ik zou graag iets meer willen doen in deze code - stuur een e-mail op basis van de landen. Het betekent dat ik commando's moet maken met if en select. Rechts? Ik heb de bijlage al uit de e-mail verwijderd. Ik zou in plaats daarvan de link met het pad naar de map willen toevoegen. Maar wanneer de macro wordt uitgevoerd, is de opdracht niet geldig :-(
Ik waardeer elke hulp om het daar toe te voegen.
Deze opmerking is gemaakt door de moderator op de site
Hallo - Hoe kan ik celgegevens opnemen in het e-mailveld "cc"?
Deze opmerking is gemaakt door de moderator op de site
Hallo Brent,
Stel dat u de waarde in cel a7 in het e-mailveld "cc" wilt opnemen, probeer dan de onderstaande VBA.

Private Sub Workbook_AfterSave (ByVal Success As Boolean)

'Bijgewerkt door' Extendoffice 20200628

Dim xOutApp als object

Dim xMailItem als object

Dim xName als string

On Error Resume Next

Stel xOutApp = CreateObject ("Outlook.Application") in

Stel xMailItem = xOutApp.CreateItem(0) in

xName = ActiveWorkbook.FullName

Met xMailItem

.To = "E-mailadres"

.CC = Bereik ("a7"). Waarde


.Subject = "De werkmap is opgeslagen"

.Body = "Hallo," & Chr(13) & Chr(13) & "Bestand is nu bijgewerkt."

.Bijlagen.Toevoegen xName

.Scherm

'.versturen

Eindigt met

Stel xMailItem = Niets in

Stel xOutApp = Niets in

End Sub
Deze opmerking is gemaakt door de moderator op de site
Beste allemaal, kan iemand me helpen, ik ben een beginneling in VBA-codering, ik heb een aantal wijzigingen aangebracht, maar hoe kan ik dit doen, stuur een e-mail als de werkmap is opgeslagen en als de gebruikersnaam anders is, bijvoorbeeld als de gebruikersnaam van het station is glade2 en stuur dan een e-mail als de werkmap is opgeslagen, anders niet verzenden.

Heel erg bedankt voor je steun
Deze opmerking is gemaakt door de moderator op de site
Hallo florijn,
Snap je punt niet. Wat stelt uw gebruikersnaam voor?
Deze opmerking is gemaakt door de moderator op de site
Hallo Crystal, bedankt voor je antwoord, usernane is omgeving usernane, en ik heb het gedaan, ik heb een if-functie gebruikt en sub afgesloten.
Dank je wel.
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0  Personages
Voorgestelde locaties