Lähetä laskentataulukot sähköpostitse erillisinä työkirjoina - VBA -koodiesimerkkejä

Tämä koodi tallentaa laskentataulukon uutena työkirjana ja luo sähköpostiviestin Outlookiin, jossa on uusi työkirja. Se on erittäin hyödyllinen, jos sinulla on standardoitu mallitaulukko, jota käytetään koko organisaatiossasi.

Yksinkertaisempi esimerkki on artikkelissa Sähköpostin lähettäminen Excelistä

Tallenna laskentataulukko uutena työkirjana ja liitä sähköpostiin

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 Aliposti_työkirja ()Application.DisplayAlerts = VääräApplication.enableevents = VääräApplication.ScreenUpdating = VääräApplication.Calculation = xlCalculationManualDim OutApp objektinaDim OutMail objektinaHimmennä FilePath merkkijononaDim Project_Name As StringDim Template_Name As StringDim Review Päivämäärä merkkijononaDim Tallenna sijainti merkkijononaHimmennä polku merkkijononaDim -nimi merkkijonona'Luo alkumuuttujiaAseta OutApp = CreateObject ("Outlook.Application")Aseta OutMail = OutApp.CreateItem (0)Project_Name = Sheets ("sheet1"). Alue ("ProjectName"). ArvoTemplate_Name = ActiveSheet.Name'Kysy sähköpostissa käytettyä syöttöäReviewDate = InputBox (Prompt: = "Anna päivämäärä, jolloin haluat tarkastella lähetystä.", Otsikko: = "Anna päivämäärä", Oletus: = "KK/PP/VVVV")Jos ReviewDate = "Anna päivämäärä" Tai ReviewDate = vbNullString Sitten GoTo endmacro'Tallenna laskentataulukko omaksi työkirjaksiPolku = ActiveWorkbook.PathNimi = Leikkaa (puolivälissä (ActiveSheet.Name, 4, 99))Aseta ws = ActiveSheetAseta oldWB = Tämä työkirjaSaveLocation = InputBox (Prompt: = "Valitse tiedostonimi ja sijainti", Otsikko: = "Tallenna nimellä", Oletus: = CreateObject ("WScript.Shell"). SpecialFolders ("Desktop") & "/" & Name & ". xlsx ")If Dir (SaveLocation) "" SittenMsgBox ("Samanniminen tiedosto on jo olemassa. Valitse uusi nimi tai poista olemassa oleva tiedosto.")SaveLocation = InputBox (Prompt: = "Valitse tiedostonimi ja sijainti", Otsikko: = "Tallenna nimellä", Oletus: = CreateObject ("WScript.Shell"). SpecialFolders ("Desktop") & "/" & Name & ". xlsx ")Loppu JosJos SaveLocation = vbNullString Sitten GoTo endmacro'poista arkki tarvittaessaActiveSheet.Unprotect Password: = "salasana"Aseta uusiWB = Työkirjat.Lisää'Säädä näyttöäActiveWindow.Zoom = 80ActiveWindow.DisplayGridlines = Väärä'Kopioi + liitä arvotoldWB. AktivoioldWB.ActiveSheet.Cells.SelectValinta KopioiuusiWB. aktivoinewWB.ActiveSheet.Cells.SelectSelection.PasteSpecial Paste: = xlPasteValues, Operation: = xlNone, SkipBlanks _: = False, Transpose: = FalseSelection.PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, _SkipBlanks: = False, Transpose: = FalseSelection.PasteSpecial Paste: = xlPasteValidation, Operation: = xlNone, _SkipBlanks: = False, Transpose: = False'Valitse uusi valkotasapaino ja poista leikkaustila käytöstänewWB.ActiveSheet.Range ("A10"). ValitseApplication.CutCopyMode = Väärä'Tallenna tiedostonewWB.SaveAs Tiedostonimi: = SaveLocation, _FileFormat: = xlOpenXMLWorkbook, CreateBackup: = VääräFilePath = Application.ActiveWorkbook.FullName'Suojaa vanhaWBoldWB.ActiveSheet.Protect Password: = "password", DrawingObjects: = True, Contents: = True, Scenarios: = True _, AllowFormattingCells: = True, AllowFormattingColumns: = True, _AllowFormattingRows: = Totta'SähköpostiVirhe Jatka seuraavaksiOutMailin kanssa.to = "[email protected]".CC = "".BCC = "".Subject = Projektin_nimi & ":" & Mallin_nimi & "tarkistettavaksi.Body = "Projektin nimi:" & Project_Name & "," & Name & "Tarkistettavaksi" & ReviewDate.Attachments.Add (FilePath).Näyttö'.Lähetä' Valinnainen, jos haluat automatisoida sähköpostin lähettämisen.LopetaVirhe GoTo 0Set OutMail = Ei mitäänSet OutApp = Ei mitään'Lopeta makro, palauta näytön päivitys, kalkit jne … endmakro:Application.DisplayAlerts = TottaApplication.enableevents = TottaApplication.ScreenUpdating = TottaApplication.Calculation = xlCalculationAutomaticEnd Sub

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave