Pošljite delovne liste po e -pošti kot ločene delovne zvezke - primeri kode VBA

Ta koda shrani delovni list kot nov delovni zvezek in ustvari e -poštno sporočilo v Outlooku s priloženim novim delovnim zvezkom. Zelo koristno je, če imate standardizirano preglednico s predlogami, ki se uporablja v vaši organizaciji.

Za preprostejši primer si oglejte Kako poslati e -pošto iz Excela

Shranite delovni list kot nov delovni zvezek in ga priložite e -pošti

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 Sub Mail_Workbook ()Application.DisplayAlerts = NapačnoApplication.enableevents = FalseApplication.ScreenUpdating = NapačnoApplication.Calculation = xlCalculationManualZatemni OutApp kot objektZatemni poštno pošto kot objektZatemni datotečno pot kot nizZatemni ime_projekta kot nizZatemni Template_Name As StringDim ReviewDate As StringZatemni SaveLocation As StringZatemni pot kot nizZatemni ime kot niz'Ustvari začetne spremenljivkeNastavi OutApp = CreateObject ("Outlook.Application")Nastavi OutMail = OutApp.CreateItem (0)Project_Name = List ("list1"). Obseg ("ProjectName"). VrednostTemplate_Name = Ime aktivnega lista'Vprašajte za vnos, uporabljen v e -poštiReviewDate = InputBox (Poziv: = "Navedite datum, do katerega želite pregledati oddajo.", Naslov: = "Vnesite datum", Privzeto: = "MM/DD/LLLL")Če ReviewDate = "Enter Date" Ali ReviewDate = vbNullString Potem pojdi na endmacro'Shrani delovni list kot lasten delovni zvezekPot = ActiveWorkbook.PathName = Trim (sredina (ime ActiveSheet.Name, 4, 99))Nastavite ws = ActiveSheetSet oldWB = ThisWorkbookSaveLocation = InputBox (Poziv: = "Izberite ime datoteke in lokacijo", naslov: = "Shrani kot", privzeto: = CreateObject ("WScript.Shell"). SpecialFolders ("Namizje") & "/" & Ime & ". xlsx ")Če Dir (SaveLocation) "" PotemMsgBox ("Datoteka s tem imenom že obstaja. Izberite novo ime ali izbrišite obstoječo datoteko.")SaveLocation = InputBox (Poziv: = "Izberite ime datoteke in lokacijo", naslov: = "Shrani kot", privzeto: = CreateObject ("WScript.Shell"). SpecialFolders ("Namizje") & "/" & Ime & ". xlsx ")Konec ČeČe je SaveLocation = vbNullString Potem pojdite na endmakro'po potrebi odstranite zaščitoActiveSheet.Unprotect Password: = "geslo"Nastavi newWB = Delovni zvezki.Dodaj'Prilagodi zaslonActiveWindow.Zoom = 80ActiveWindow.DisplayGridlines = Napačno'Kopiraj + prilepi vrednostioldWB.AktivirajoldWB.ActiveSheet.Cells.IzberiIzbor.KopirajnewWB.AktivirajnewWB.ActiveSheet.Cells.IzberiSelection.PasteSpecial Paste: = xlPasteValues, Operacija: = xlNone, SkipBlanks _: = False, Transpose: = FalseSelection.PasteSpecial Paste: = xlPasteFormats, Operacija: = xlNone, _SkipBlanks: = False, Transpose: = FalseIzbira.PasteSpecial Paste: = xlPasteValidation, Operacija: = xlNone, _SkipBlanks: = False, Transpose: = False'Izberite novo WB in izklopite način kopiranjanewWB.ActiveSheet.Range ("A10"). IzberiteApplication.CutCopyMode = Napačno'Shranite datotekonewWB.SaveAs Ime datoteke: = SaveLocation, _FileFormat: = xlOpenXMLWorkbook, CreateBackup: = FalseFilePath = Application.ActiveWorkbook.FullName„Ponovno zaščitite stari WBoldWB.ActiveSheet.Protect Geslo: = "geslo", DrawingObjects: = True, Vsebina: = True, Scenariji: = True _, AllowFormattingCells: = True, AllowFormattingColumns: = True, _AllowFormattingRows: = True'E-naslovOn Napaka Nadaljuj NaprejZ OutMail.to = "[email protected]".CC = "".BCC = "".Subject = Ime_projekta & ":" & Ime_predloge & "za pregled".Body = "Ime projekta:" & Project_Name & "," & Name & "Za pregled" & ReviewDate.Priključki.Dodaj (pot do datoteke).Zaslon'. Pošlji' Izbirno za avtomatiziranje pošiljanja e -pošte.Končaj sPri napaki Pojdi na 0Nastavi OutMail = NičNastavi OutApp = Nič'Končaj makro, obnovi posodabljanje zaslona, ​​Calcs itd … endmacro:Application.DisplayAlerts = ResApplication.enableevents = ResApplication.ScreenUpdating = ResApplication.Calculation = xlCalculationAutomaticEnd Sub

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave