Çalışma Sayfalarını E-posta ile Ayrı Çalışma Kitapları Olarak Gönder - VBA Kodu Örnekleri

Bu kod, bir çalışma sayfasını yeni bir çalışma kitabı olarak kaydeder ve Outlook'ta yeni çalışma kitabının eklendiği bir e-posta oluşturur. Kuruluşunuz genelinde kullanılan standart bir şablon elektronik tablonuz varsa bu çok yararlıdır.

Daha basit bir örnek için Excel'den E-posta Nasıl Gönderilir konusuna bakın.

Çalışma Sayfasını Yeni Çalışma Kitabı Olarak Kaydet ve E-postaya Ekle

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 Sub Mail_Workbook()Application.DisplayAlerts = YanlışApplication.enableevents = YanlışApplication.ScreenUpdating = YanlışApplication.Calculation = xlCalculationManualOutApp'i Nesne Olarak KarartOutMail'i Nesne Olarak KarartınFilePath'i Dize Olarak KarartınProje_Adı Olarak Dize KarartınDize Olarak Template_Name DimDim ReviewDate As StringDim SaveLocation As StringYolu Dize Olarak KarartAdı Dize Olarak Karartın'Başlangıç ​​değişkenleri oluşturSet OutApp = CreateObject("Outlook.Application")OutMail'i Ayarla = OutApp.CreateItem(0)Proje_Adı = Sayfalar("sayfa1").Range("ProjeAdı").ValueTemplate_Name = ActiveSheet.Name'E-postada Kullanılan Girişi İsteyinReviewDate = InputBox(Prompt:="Gönderinin ne zamana kadar incelenmesini istediğinizi belirtin.", Title:="Tarih Girin", Varsayılan:="AA/GG/YYYY")ReviewDate = "Tarih Girin" veya ReviewDate = vbNullString ise, Bitiş Makrosuna Git'Çalışma Sayfasını kendi çalışma kitabı olarak kaydetYol = ActiveWorkbook.YolAd = Kırp(Orta(ActiveSheet.Name, 4, 99))ws = ActiveSheet'i ayarlaOldWB = ThisWorkbook'u ayarlaSaveLocation = InputBox(Prompt:="Dosya Adını ve Konumunu Seçin", Title:="Farklı Kaydet", Default:=CreateObject("WScript.Shell").SpecialFolders("Desktop") & "/" & Name & ". xlsx")Eğer Dir(SaveLocation) "" O zamanMsgBox ("Bu ada sahip bir dosya zaten var. Lütfen yeni bir ad seçin veya mevcut dosyayı silin.")SaveLocation = InputBox(Prompt:="Dosya Adını ve Konumunu Seçin", Title:="Farklı Kaydet", Default:=CreateObject("WScript.Shell").SpecialFolders("Desktop") & "/" & Name & ". xlsx")BitirSaveLocation = vbNullString ise, o zaman GoTo endmacro'gerekirse sayfanın korumasını kaldırınActiveSheet.Unprotect Parola:="parola"newWB'yi ayarla = Çalışma Kitapları.Add'Ekranı AyarlaActiveWindow.Zoom = 80ActiveWindow.DisplayGridlines = YanlışDeğerleri Kopyala + YapıştıreskiWB.EtkinleştiroldWB.ActiveSheet.Cells.SelectSeçim.KopyalayeniWB.EtkinleştiryeniWB.ActiveSheet.Cells.SelectSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=Yanlış, Devir:=YanlışSelection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _SkipBlanks:=Yanlış, Devir:=YanlışSelection.PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _SkipBlanks:=Yanlış, Devir:=Yanlış'Yeni WB seçin ve kesme kopyalama modunu kapatınnewWB.ActiveSheet.Range("A10").SeçApplication.CutCopyMode = Yanlış'Dosyayı kaydetnewWB.SaveAs Dosya Adı:=Konumu Kaydet, _FileFormat:=xlOpenXMLWorkbook, CreateBackup:=FalseFilePath = Application.ActiveWorkbook.FullName'Eski WB'yi yeniden koruyunoldWB.ActiveSheet.Protect Parola:="parola", DrawingObjects:=True, Contents:=True, Senaryolar:=True _, AllowFormattingCells:=Doğru, AllowFormattingColumns:=Doğru, _AllowFormattingRows:=Doğru'e-postaHatada Devam Et SonrakiOutMail ile.to = "[email protected]".CC = "".BCC = "".Konu = Proje_Adı & ": " & Şablon_Adı & " inceleme için".Body = "Proje Adı: " & Proje_Adı & ", " & Adı & " tarafından gözden geçirilmek üzere " & İncelemeTarihi.Ekler.Ekle (Dosya Yolu).Görüntülemek' .Send 'E-posta gönderimini otomatikleştirmek için isteğe bağlı.İle bitmekHatada GoTo 0OutMail'i Ayarla = Hiçbir ŞeyOutApp'i Ayarla = Hiçbir Şey'Makroyu Bitir, Ekran Güncellemesini Geri Yükle, Calcs, vb… endmacro:Application.DisplayAlerts = DoğruApplication.enableevents = DoğruApplication.ScreenUpdating = DoğruUygulama.Hesaplama = xlHesaplamaOtomatikAlt Bitiş

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave