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

Cum să trimiteți un e-mail prin Outlook când registrul de lucru este salvat în Excel?

Acest articol vorbește despre trimiterea unui e-mail prin Outlook atunci când un anumit registru de lucru este salvat în Excel. Vă rugăm să faceți așa cum arată tutorialul.

Trimiteți un e-mail prin Outlook când registrul de lucru este salvat cu cod VBA


Trimiteți un e-mail prin Outlook când registrul de lucru este salvat cu cod VBA

Pentru a trimite un e-mail prin Outlook atunci când registrul de lucru este salvat în Excel, procedați după cum urmează.

1. Vă rugăm să salvați registrul de lucru ca un registru de lucru Excel Macro-Enabled la început. Clic Fișier > Salvare ca. În Salvare ca caseta de dialog, selectați un folder pentru a salva registrul de lucru, denumiți-l în caseta Nume fișier, selectați Cartea de lucru Excel Macro-Enabled de la Salvați ca tip lista verticală, apoi faceți clic pe Economisiți buton. Vedeți captura de ecran:

2. Deschideți registrul de lucru Excel Macro-Enabled pe care l-ați salvat chiar acum, apăsați pe Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastra, vă rugăm să faceți dublu clic Acest manual de lucru în bara din stânga, apoi copiați și lipiți codul VBA de mai jos în Acest manual de lucru fereastra de cod. Vedeți captura de ecran:

Cod VBA: trimiteți e-mail atunci când registrul de lucru este salvat

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

notițe: Vă rugăm să înlocuiți Adresa de email cu adresa de e-mail a destinatarului în linie .To = "Adresă de e-mail", și schimbați Cc, Subiect, precum și câmpurile de corp din codul VBA după cum aveți nevoie.

3. apasă pe Alt + Q tastele simultan pentru a închide Microsoft Visual Basic pentru aplicații fereastră.

De acum înainte, când actualizați registrul de lucru și îl salvați, va fi creat automat un e-mail cu atașat registrul de lucru actualizat. Vă rugăm să faceți clic pe Trimitere pentru a trimite e-mailul. Vedeți captura de ecran:

notițe: Codul VBA funcționează numai atunci când utilizați Outlook ca program de e-mail.


Legate de articole:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (17)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum să automatizezi notificarea prin e-mail în VBA pe baza intervalului de date, fără a fi nevoie să vezi fereastra pop-up pentru permisiunea de securitate pentru a permite VBA să trimită e-mailul.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc. Consulta: utilizând esta misma rutina, como podría enviar el correo a un correo específico dependiendo el valor de otra celda?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragi tuturor, aș dori să întreb cum să atașez un link funcțional la un anumit folder de pe server, dacă lipesc linkul, acesta apare în registrul de lucru la fel ca text simplu și deci nu funcționează în e-mailul primit, cum pot să-l transforme în link, astfel încât beneficiarii să poată face clic pe el?
Aș dori să folosesc acest mod în schimb să trimit fișierul Excel inclus.
Multumesc pentru sfat
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Robert,
Ne pare rău că nu te pot ajuta cu asta, bine ai venit să postezi orice întrebare despre Excel pe forumul nostru: https://www.extendoffice.com/forum.html. Veți primi mai multe suporturi Excel de la profesioniștii noștri sau de la alți fani Excel.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am pus asta în corpul e-mailului și mi-a funcționat...
„fișier:///Z:\dir1\dir2\dir3\Test1.xlsm”
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut, frumos articol! Un lucru pe care am încercat să îl obțin cu acest lucru este să atașez la e-mail starea curentă a registrului de lucru.

În acest moment, trimite doar starea inițială a fișierului și nu include nicio modificare pe care utilizatorul le-ar fi făcut.

Aveți idei despre cum să implementați acest lucru folosind o macrocomandă?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Chris,
Codul a fost actualizat cu problema rezolvată, vă rugăm să încercați. Multumesc pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Chris,

Am intalnit aceeasi problema.
În prezent, codurile sunt folosite în modulul „înainte de salvare”.
Ceea ce înseamnă că e-mailul va trimite foaia de calcul care a fost salvată înainte.

Există un alt modul „după salvare”.
Am aplicat codul în acest modul și a funcționat ca un farmec.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum ar fi gestionat acest lucru pentru un document Office 365. Se salvează automat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există vreo modalitate ca e-mailul automat să fie criptat automat?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi Mike,
Îmi pare rău, nu pot ajuta la rezolvarea acestei probleme. Multumesc pentru comentariu.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut! Mulțumesc mult pentru acest ghid :-) Aș dori să fac ceva mai mult în acest cod - trimiteți un e-mail în funcție de țări. Înseamnă că trebuie să creez comenzi cu if și select. Dreapta? Am șters deja atașamentul de pe e-mail. În schimb, aș dori să adaug linkul cu calea în dosar. Dar când rulează macrocomandă, comanda nu este validă :-(
Apreciez fiecare ajutor cum să-l adaug acolo.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua - Cum pot include datele celulei în câmpul „cc” de e-mail?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună Brent,
Presupunând că doriți să includeți valoarea în celula a7 în câmpul „cc” de e-mail, încercați VBA de mai jos.

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

„Actualizat de Extendoffice 20200628

Dim xOutApp ca obiect

Dim xMailItem ca obiect

Dim xName ca șir

La data de eroare CV următoare

Setați xOutApp = CreateObject("Outlook.Application")

Setați xMailItem = xOutApp.CreateItem(0)

xName = ActiveWorkbook.FullName

Cu xMailItem

.To = "Adresă de e-mail"

.CC = Interval("a7").Valoare


.Subject = „Registrul de lucru a fost salvat”

.Body = „Bună,” & Chr(13) & Chr(13) & „Fișierul este acum actualizat”.

.Atașamente.Adăugați xName

.Afişa

'.trimite

Se termina cu

Set xMailItem = Nimic

Setați xOutApp = Nimic

End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Dragi tuturor, poate cineva să mă ajute, sunt un începător în codarea VBA, am făcut unele modificări, dar cum pot să trimit e-mail dacă registrul de lucru este salvat și dacă numele de utilizator este diferit, cum ar fi numele de utilizator al stația este glade2 apoi trimite e-mail dacă registrul de lucru este salvat, altfel nu trimite.

multumesc mult pentru ajutorul tau
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna Florin,
Nu v-am înțeles punctul de vedere. Ce reprezintă numele dvs. de utilizator?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut cristal, mulțumesc pentru răspuns, usernane este usernane de mediu și am făcut-o, am folosit o funcție if și am ieșit din sub.
Va multumesc foarte mult.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL