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

Kako poslati e-pošto prek Outlooka, ko je delovni zvezek shranjen v Excelu?

Ta članek govori o pošiljanju e-pošte prek Outlooka, ko je določen delovni zvezek shranjen v Excelu. Naredite, kot kaže vadnica.

Ko je delovni zvezek shranjen s kodo VBA, pošljite e-pošto prek Outlooka


Ko je delovni zvezek shranjen s kodo VBA, pošljite e-pošto prek Outlooka


Če želite poslati e-pošto prek Outlooka, ko je delovni zvezek shranjen v Excelu, storite naslednje.

1. Prosimo, da delovni zvezek najprej shranite kot Excelov makro omogočen delovni zvezek. Kliknite file > Shrani kot. v Shrani kot v pogovornem oknu izberite mapo, v katero želite shraniti delovni zvezek, poimenujte ga v polje Ime datoteke in izberite Excelov delovni zvezek z omogočeno makro Iz Shrani kot vrsto in nato kliknite spustni seznam Shrani . Oglejte si posnetek zaslona:

2. Odprite Excelov delovni zvezek, ki ste ga pravkar shranili, in pritisnite druga + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.

2. V Ljubljani Microsoft Visual Basic za aplikacije okno, prosimo, dvokliknite Ta delovni zvezek v levo vrstico, nato kopirajte in prilepite spodnjo kodo VBA v Ta delovni zvezek okno kode. Oglejte si posnetek zaslona:

Koda VBA: Ko je delovni zvezek shranjen, pošljite e-pošto

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

Opombe: Prosimo, zamenjajte Email naslov z e-poštnim naslovom prejemnika v vrstici .To = "E-poštni naslov"in spremenite polja Cc, Subject in body v kodo VBA, kot potrebujete.

3. Pritisnite druga + Q tipke hkrati, da zaprete tipko Microsoft Visual Basic za aplikacije okno.

Od zdaj naprej, ko posodobite delovni zvezek in ga shranite, se samodejno ustvari e-poštno sporočilo s priloženim posodobljenim delovnim zvezkom. Kliknite Pošlji gumb za pošiljanje e-pošte. Oglejte si posnetek zaslona:

Opombe: Koda VBA deluje samo, če Outlook uporabljate kot svoj e-poštni program.


Sorodni članki:


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2019 in 365. Podpira vse jezike. Preprosta namestitev v vašem podjetju ali organizaciji. Vse funkcije 30-dnevnega brezplačnega preskusa. 60-dnevno jamstvo za vračilo denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50% in vsak dan zmanjša na stotine klikov z miško!
dno pisarniške mize
Komentarji (17)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Kako avtomatizirati e-poštno obvestilo v VBA na podlagi časovnega obdobja, ne da bi morali videti pojavno okno za varnostno dovoljenje, da omogočite VBA, da pošlje e-pošto.
Ta komentar je moderator na spletnem mestu minimiziral
hvala. Consulta: utilizando esta misma rutina, como podría enviar el correo a un correo específico dependiendo el valor de otra celda?
Ta komentar je moderator na spletnem mestu minimiziral
Spoštovani, rad bi vprašal, kako prilepiti funkcionalno povezavo na določeno mapo na strežniku, če povezavo prilepim, se pojavi v delovnem zvezku tako kot golo besedilo in zato ne deluje v prejetem e-pošti, kako naj spremenite v povezavo, tako da lahko prejemniki kliknejo nanjo?
Rad bi uporabil ta način namesto pošiljanja priložene excel datoteke.
Hvala za nasvet
Ta komentar je moderator na spletnem mestu minimiziral
Živijo Robert,
Žal ne morem pomagati s tem, dobrodošli, da objavite kakršno koli vprašanje o Excelu na našem forumu: https://www.extendoffice.com/forum.html. Dobili boste več podpore za Excel od naših profesionalnih ali drugih oboževalcev Excela.
Ta komentar je moderator na spletnem mestu minimiziral
To sem dal v telo e-pošte in mi je delovalo ...
"file:///Z:\dir1\dir2\dir3\Test1.xlsm"
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, lep članek! Ena stvar, ki sem jo s tem poskušal doseči, je, da e-poštnemu sporočilu priložim trenutno stanje delovnega zvezka.

Trenutno pošilja samo izvirno stanje datoteke in ne vključuje nobenih sprememb, ki bi jih uporabnik naredil.

Kakšne ideje, kako to implementirati z uporabo makra?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo, Chris,
Koda je bila posodobljena z rešeno težavo, poskusite. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo, Chris,

Naletel sem na isto zadevo.
Trenutno se kode uporabljajo v modulu "pred shranjevanjem".
Kar pomeni, da bo e-poštno sporočilo poslalo preglednico, ki je bila pred shranjena.

Obstaja še en modul "aftersave".
Uporabil sem kodo v tem modulu in je delovala kot čar.
Ta komentar je moderator na spletnem mestu minimiziral
Kako bi to obravnavali za dokument Office 365. Samodejno se shranjuje.
Ta komentar je moderator na spletnem mestu minimiziral
Ali obstaja način, da se avtomatizirana e-pošta samodejno šifrira?
Ta komentar je moderator na spletnem mestu minimiziral
Hi Mike,
Žal ne morem pomagati rešiti te težave. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo! Najlepša hvala za to smernico :-) Rad bi naredil nekaj več v tej kodi - pošljite e-pošto glede na države. To pomeni, da moram ustvariti ukaze s if in select. Prav? Prilogo sem že izbrisal iz e-pošte. Namesto tega bi rad dodal povezavo s potjo v mapo. Toda ko se zažene makro, ukaz ni veljaven :-(
Cenim vsako pomoč, kako jo dodati.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni – Kako lahko v e-poštno polje "cc" vključim podatke o celici?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo Brent,
Predpostavimo, da želite vključiti vrednost v celici a7 v polje e-pošte "cc", poskusite spodnji VBA.

Private Sub Workbook_AfterSave(ByVal Uspeh kot Boolean)

'Posodobil Extendoffice 20200628

Zatemnite xOutApp kot objekt

Zatemni xMailItem kot objekt

Dim xName kot niz

On Error Resume Next

Nastavi xOutApp = CreateObject("Outlook.Application")

Nastavi xMailItem = xOutApp.CreateItem(0)

xName = ActiveWorkbook.FullName

Z xMailItemom

.To = "E-poštni naslov"

.CC = Obseg("a7").Vrednost


.Subject = "Delovni zvezek je bil shranjen"

.Body = "Živjo," & Chr(13) & Chr(13) & "Datoteka je zdaj posodobljena."

.Priloge.Dodaj xName

.Prikaz

'.pošlji

Končaj s

Nastavite xMailItem = Nič

Nastavite xOutApp = Nič

End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Spoštovani, ali mi lahko kdo pomaga, sem začetnik v kodiranju VBA, naredil sem nekaj sprememb, vendar kako lahko to storim, pošljem e-pošto, če je delovni zvezek shranjen in če je uporabniško ime drugačno, na primer, če je uporabniško ime postaja glade2 nato pošlji e-pošto, če je delovni zvezek shranjen, drugače ne pošlji.

Najlepša hvala za vašo podporo
Ta komentar je moderator na spletnem mestu minimiziral
Živjo florin,
Nisem razumel vaše točke. Kaj predstavlja vaše uporabniško ime?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo crystal, hvala za vaš odgovor, usernane je enviroment usernane, in to sem storil, uporabil sem funkcijo if in izhod.
Najlepša hvala.
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije