Outlook'ta planlanmış ve yinelenen e-posta?


22

Günün belirli bir saatinde bazı e-postalar göndermem gerekiyor ve bunu her gün yapmam gerekiyor. Outlook ile nasıl yapabilirim?

Delay deliverybelirli bir zamanda posta gönderilmesine yardımcı olur; ama yarın için gönderilecek yeni posta nasıl oluşturulur?

görüntü tanımını buraya girin



Teşekkür ederim. Makroyu okudum ama gerçekten nasıl yapacağımı anlamadım. Lütfen beni yönlendirin ve kabul edilmek için bir yorum yerine bir cevap koyun.
Nam G VU

Gönderinize daha fazla ayrıntı eklemenizi öneririz: E-postalar her gün aynı mı, yoksa içerik otomatik olarak mı oluşturuldu? Hedef adresler aynı mı?
kmote 04:13 '

Sevgili @kmote, içerik ve e-posta her gün belirsizdir
Nam G VU

Yanıtlar:


28

Tamam, işte bunun için bir yolun hızlı bir açıklaması. Outlook VBA editöründe bir makro ayarlanması gerekir. Bunu daha önce hiç yapmadıysanız, ilk önce size güvenmeniz gereken bir miktar kurulum vardır. (Outlook için makrolar oluşturmak zor olmasa da, karışıklık ve sıkıntıya yol açabilecek hataların olabileceği çeşitli yerler vardır. Buna yeni başlıyorsanız ve devam etmek istiyorsanız, tüm MSDN sayfasını dikkatlice okumanızı tavsiye ederim. Aşağıdaki ilk adımda bağlantılı.)

1. VBA editörünü açın.

Outlook şerit çubuğunda, Geliştirici sekmesine tıklayın ( burada etkinleştirin ) ve ardından Tamam'a tıklayın Visual Basic. Şerit çubuğunuzda bir Geliştirici sekmesi yoksa, etkinleştirmeniz gerekir. Bu MSDN sayfasındaki talimatlara bakın ("Geliştirici sekmesini etkinleştirmek için" etiketli bölüme ilerleyin. NOT: Ayrıca bu sitenin "Makroları etkinleştirmek için" etiketli bölümünü de okumalısınız). Bu Visual Basicdüğmeye basmak tamamen yeni bir uygulamanın açılmasına neden olacaktır (VBA editörü); Aç ThisOutlookSession, ortadaki büyük bölme, makronuzun gideceği yer.

Kullanmak için, VBA düzenleyicisini açmak için Alt + F11 tuşlarına basın, ardından kodu kopyalayın ve ThisOutlookSession'a yapıştırın. ( referans )

görüntü tanımını buraya girin

2. Aşağıdaki makroyu makro bölmesinin altına yapıştırın.

'Original function written by Diane Poremsky: http://www.slipstick.com/developer/send-email-outlook-reminders-fires/
Private Sub Application_Reminder(ByVal Item As Object)
  Dim objMsg As MailItem
  Set objMsg = Application.CreateItem(olMailItem)    

If Item.MessageClass <> "IPM.Appointment" Then
  Exit Sub
End If

If Item.Categories <> "Automated Email Sender" Then
  Exit Sub
End If

  objMsg.To = Item.Location
  objMsg.Subject = Item.Subject
  objMsg.Body = Item.Body
  objMsg.Send

  Set objMsg = Nothing
End Sub

3. Yeni bir kategori oluşturun.

Yeni oluşturulan Kategori ( nasıl yapılır ) çağrılmalıdır Automated Email Sender(bu isteğe bağlı bir başlıktır, ancak değiştirirseniz, makroda da değiştirdiğinizden emin olun).

4. Bir Takvim randevusu oluşturun.

Alıcı e-postalarını "Konum" alanına yerleştirin.

Randevunun "Konu" alanı e-postanın Konu alanı olarak kullanılacaktır.

Randevunun "Vücut" e-postanın Vücut olacaktır.

İstediğiniz programa göre tekrarlanacak randevuyu ayarlayın. Bir hatırlatıcı ayarladığınızdan emin olun.

Hatırlatma zamanını ayarlama

Ayrıca, önceki adımda oluşturduğunuz Kategoriyi atamayı unutmayın.

Önce Konum alanına kendi e-posta adresinizi koyarak test edin.

görüntü tanımını buraya girin


Bu kadar! Makro güvenlik ayarlarınız doğru ayarlandığı sürece, bu makro belirtilen Kategori ile yapılan bir randevuda bir hatırlatma tetiklendiğinde otomatik olarak bir e-postanın gönderilmesine neden olur.


1
Müthiş benim için çalışıyor ^^ Çok teşekkür ederim!
Nam G VU

2
@kmote Soru, hatırlatmanın bu çalışmayı yapmasının önemi nedir? Kodda farketmedim.
SiegeX

1
@SiegeX: işlevin adını ( Application_Reminder) görür . Bu, bir hatırlatıcı yandığında Outlook tarafından otomatik olarak çağrılan yerleşik bir Outlook olay işleyicisidir. Yani Hatırlatıcı bu işi yapan tetikleyicidir.
kmote

@kmote Görüyorum, eğer appt zamanını 2: 00'a ayarlarsam ve hatırlatıcının appt'den önce 30 dakikaya ayarlamasını sağlarsam, e-posta 2: 00 yerine 13: 30'da patlayacak mı?
SiegeX

1
Bu, VBA kodundaki oluşturma satırını değiştirerek bir şablonla da birleştirilebilir objMsg = Application.CreateItemFromTemplate("C:\Users\[USER]\AppData\Roaming\Microsoft\Templates\Test.oft").
Andy Mercer,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.