Bu yazıda, bir e-postada ek olarak bir sayfa göndermek için bir makro oluşturacağız.
Makroyu çalıştırmadan önce bir e-posta kimliği ve e-postanın konusunu belirtmemiz gerekiyor.
Bu örnekte, e-postada ek olarak “DataSheet” göndermek istiyoruz.
Mantıksal açıklama
Metin kutularından e-posta kimliğini ve e-postanın konusunu alan “MailSheet” makrosunu oluşturduk. “DataSheet”in yeni bir kopyasını oluşturur, kaydeder ve ek olarak gönderir.
Kod açıklaması
Sayfalar("Veri Sayfası").Kopyala
Yukarıdaki kod, yeni bir çalışma kitabında “DataSheet”in bir kopyasını oluşturmak için kullanılır.
ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _
& " " & StrDate & ".xls"
Yukarıdaki kod, yeni çalışma kitabını kaydetmek için kullanılır.
ActiveWorkbook.SendMail EmailID, MailSubject
Yukarıdaki kod, aktif çalışma kitabını belirtilen e-posta kimliğine, verilen konuyla ek olarak göndermek için kullanılır.
ActiveWorkbook.Close False
Yukarıdaki kod, aktif çalışma kitabını kaydetmeden kapatmak için kullanılır.
Lütfen kod için aşağıdan takip edin
Sub MailSheet() 'Değişkenleri Dim StrDate, EmailID, MailSubject As String olarak bildirme 'Metin kutularından E-posta Kimliği ve konu için değer alma EmailID = Sheet1.TextBox1.Value MailSubject = Sheet1.TextBox2.Value '"Veri Sayfası" yeni çalışma kitabı Sayfalarına kopyalanıyor(" DataSheet").Kopyala 'Tarih ve saati belirli bir formata biçimlendirme StrDate = Format(Date, "gg-aa-yy") & " " & Format(Time, "s-mm") 'Etkin çalışma kitabı ActiveWorkbook yeni adıyla kaydediliyor. SaveAs "Part of " & ThisWorkbook.Name _ & " " & StrDate & ".xls" 'E-posta gönderiliyor ActiveWorkbook.SendMail EmailID, MailSubject 'ActiveWorkbook'u kapat ActiveWorkbook.Close False End Sub
Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın