Siųsti darbalapius el. Paštu kaip atskiras darbo knygas - VBA kodo pavyzdžiai

Šis kodas išsaugo darbalapį kaip naują darbaknygę ir sukuria el. Laišką „Outlook“ su pridėta nauja darbaknyge. Tai labai naudinga, jei turite standartizuotą šablono skaičiuoklę, kuri naudojama visoje jūsų organizacijoje.

Paprastesnį pavyzdį rasite straipsnyje Kaip siųsti el. Laišką iš „Excel“

Išsaugokite darbalapį kaip naują darbaknygę ir pridėkite prie el

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 Pašto_ darbo knyga ()Application.DisplayAlerts = NetiesaApplication.enableevents = NetiesaApplication.ScreenUpdating = NetiesaApplication.Calculation = xlCalculationManual„Dim OutApp“ kaip objektas„Dim OutMail“ kaip objektasDim FilePath kaip eilutė„Dim Project_Name As String“Dim Template_Name As String„Dim Review“ data kaip eilutė„Dim SaveLocation“ kaip eilutėBlokas kelias kaip eilutėPrastas pavadinimas kaip eilutė„Sukurkite pradinius kintamuosiusSet OutApp = CreateObject ("Outlook.Application")Nustatyti „OutMail“ = „OutApp.CreateItem“ (0)Project_Name = Skaičiuoklės ("sheet1"). Diapazonas ("ProjectName"). VertėTemplate_Name = ActiveSheet.Name„Prašyti įvesties, naudojamos elReviewDate = InputBox (Prompt: = "Pateikite datą iki kada norite, kad pateiktis būtų peržiūrėtas.", Pavadinimas: = "Įveskite datą", Numatytasis: = "MM/DD/YYYY")Jei „ReviewDate“ = „Įveskite datą“ arba „ReviewDate = vbNullString“, tada „GoTo endmacro“„Išsaugoti darbalapį kaip savo darbo knygąKelias = ActiveWorkbook.PathPavadinimas = apkarpymas (viduryje („ActiveSheet.Name“, 4, 99))Nustatykite ws = ActiveSheetNustatyti oldWB = ThisWorkbookSaveLocation = InputBox (Prompt: = "Pasirinkite failo pavadinimą ir vietą", Pavadinimas: = "Išsaugoti kaip", Numatytasis: = CreateObject ("WScript.Shell"). SpecialFolders ("Desktop") & "/" & Name & ". xlsx ")Jei Dir (SaveLocation) "" TadaMsgBox ("Failas tokiu pavadinimu jau yra. Pasirinkite naują pavadinimą arba ištrinkite esamą failą.")SaveLocation = InputBox (Prompt: = "Pasirinkite failo pavadinimą ir vietą", Pavadinimas: = "Išsaugoti kaip", Numatytasis: = CreateObject ("WScript.Shell"). SpecialFolders ("Desktop") & "/" & Name & ". xlsx ")Pabaiga JeiJei „SaveLocation = vbNullString“, tada „GoTo endmacro“'jei reikia, apsaugokite lapąActiveSheet.Unprotect Password: = "slaptažodis"Nustatyti naująWB = Darbaknygės. Pridėti„Sureguliuokite ekraną„ActiveWindow.Zoom“ = 80ActiveWindow.DisplayGridlines = Netiesa„Kopijuoti + įklijuoti reikšmesoldWB. AktyvintioldWB.ActiveSheet.Cells.SelectPasirinkimas. KopijuotinewWB. AktyvintinewWB.ActiveSheet.Cells.SelectSelection.PasteSpecial Paste: = xlPasteValues, Operacija: = xlNone, SkipBlanks _: = Klaidinga, perkelti: = klaidingaSelection.PasteSpecial Paste: = xlPasteFormats, Operacija: = xlNone, _SkipBlanks: = Netiesa, Perkelti: = NetiesaSelection.PasteSpecial Paste: = xlPasteValidation, Operation: = xlNone, _SkipBlanks: = Netiesa, Perkelti: = Netiesa„Pasirinkite naują WB ir išjunkite nukopijavimo režimąnewWB.ActiveSheet.Range ("A10"). PasirinkiteApplication.CutCopyMode = Netiesa'Išsaugoti failąnewWB.SaveAs Failo pavadinimas: = SaveLocation, _FileFormat: = xlOpenXMLWorkbook, CreateBackup: = NetiesaFilePath = Application.ActiveWorkbook.FullName„Apsaugokite seną PBoldWB.ActiveSheet.Protect Slaptažodis: = "slaptažodis", DrawingObjects: = Tiesa, Turinys: = Tiesa, Scenarijai: = Tiesa _, AllowFormattingCells: = Tiesa, AllowFormattingColumns: = Tiesa, _AllowFormattingRows: = Tiesa'El. PaštasDėl klaidos Tęsti toliauSu „OutMail“.to = "[email protected]".CC = "".BCC = "".Subject = Project_Name & ":" & Template_Name & "peržiūrėti".Body = "Projekto pavadinimas:" & Project_Name & "," & Name & "Peržiūrai" & ReviewDate.Attachments.Add (FilePath).Ekrane'.Siųsti' Pasirenkama automatizuoti el. Laiškų siuntimą.Pabaiga suKlaida „GoTo 0“„Set OutMail“ = nieko„Set OutApp“ = nieko„Baigti makrokomandą, atkurti ekrano atnaujinimą, kalcį ir tt … endmacro:Application.DisplayAlerts = TiesaApplication.enableevents = TiesaApplication.ScreenUpdating = TiesaApplication.Calculation = xlCalculationAutomaticPabaiga Sub

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave