Skip to main content

Outlook'un çok erken veya çok geç hatırlatmasını nasıl engelleyebilirim?

Author: Kelly Last Modified: 2025-06-10

Örneğin, her gün sabah 9:00'dan akşam 6:00'a kadar çalışıyorsunuz, ancak şu anda saat 10:00'da bir randevu oluşturuyorsunuz ve Outlook'ta bunun için 2 saatlik bir hatırlatıcı ekliyorsunuz. Bu, hatırlatıcının işe başlamadan önce saat 8:00'de çalışacağı anlamına gelir. Öte yandan, hatırlatıcı özel durumlarda gece yarısı çalabilir. Bu oldukça rahatsız edici olabilir ve bazı Outlook kullanıcıları, Outlook'un çok erken veya çok geç hatırlatmasını önlemek isteyebilir. Burada sizin için bu sorunu çözmek üzere bir VBA makrosu tanıtacağım.

Office Tab - Sekmeli Düzenleme ve Microsoft Office'de Gezintiyi Etkinleştirin, İşleri Daha Kolay Hale Getirin
Kutools for Outlook'un ücretsiz sürümünü şimdi açın ve sınırsız erişimle 70'den fazla özelliği hemen kullanmaya başlayın
Outlook 2024 - 2010 veya Outlook 365'inizi bu gelişmiş özelliklerle güçlendirin. 70'den fazla güçlü özelliği keşfedin ve e-posta deneyiminizi yükseltin!

Outlook'un çok erken veya çok geç hatırlatmasını önlemek için aşağıdaki adımları izleyebilirsiniz:

Adım 1: Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına aynı anda basın.

Adım 2: Sol bölmedeki Microsoft Outlook Nesnelerini genişletin ve aşağıdaki VBA makrosunu ThisOutlookSession içine yapıştırın.

VBA: Outlook'ta çok erken veya çok geç hatırlatmayı önleme

Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub

 

Not: Yukarıdaki VBA kodundaki aşağıdaki parametreleri değiştirerek çalışma sürenizi belirleyebilirsiniz:
reminderMaxHour = 20
reminderMinHour = 9

Adım 3: Bu VBA'yi kaydedin ve Microsoft Outlook'unuzu yeniden başlatın.

Şimdi itibaren, belirttiğiniz çalışma süresi dışında bir hatırlatıcı ile randevu oluşturduğunuzda, Kaydet ve Kapat düğmesine tıkladıktan sonra size bir uyarı kutusu açılacaktır.

the screenshot of step about preventing outlook reminding too early or too late

Hatırlatma saati belirlenen reminderMinHour değerinden daha erken ise, iletişim kutusundaki Evet'e tıklayın; bu, hatırlatma saatini değiştirecek ve belirlenen reminderMinHour zamanında ses çıkaracaktır.

Hatırlatma saati belirlenen reminderMaxHour değerinden daha geç ise, iletişim kutusundaki Evet'e tıklayın; bu, hatırlatma saatini değiştirecek ve belirlenen reminderMaxHour zamanında sizi uyaracaktır.

Not: Bu VBA kodu Outlook 2013 ile iyi çalışıyor, ancak Outlook 2010 ve 2007 ile çalışmıyor.


En İyi Ofis Verimlilik Araçları

Son Dakika: Kutools for Outlook Ücretsiz Sürümünü Başlattı!

Yepyeni Kutools for Outlook ÜCRETSİZ sürümünü70'ten fazla harika özellikle sonsuza dek kullanabilirsiniz! Şimdi indirmek için tıklayın!

🤖 Kutools AI : Gelişmiş yapay zeka teknolojisiyle e-postaları zahmetsizce yönetir; yanıtlama, özetleme, optimize etme, genişletme, çeviri ve e-posta oluşturma işlemlerini kolayca gerçekleştirir.

📧 E-posta Otomasyonu: Otomatik Yanıt (POP ve IMAP için kullanılabilir) / E-postaları Zamanla Gönder / E-posta Gönderirken Kurallara Göre Otomatik CC/BCC / Otomatik Yönlendirme (Gelişmiş Kurallar) / Otomatik Selamlama Ekle / Çoklu Alıcılı E-postaları Otomatik Olarak Bireysel E-postalara Böl...

📨 E-posta Yönetimi: E-postayı Geri Çağır / Konu ve Diğerlerine Göre Dolandırıcılık E-postalarını Engelle / Yinelenen E-postaları Sil / Gelişmiş Arama / Klasörleri düzenle...

📁 Ekler Pro: Toplu Kaydet / Toplu Ayır / Toplu Sıkıştır / Otomatik Kaydet / Otomatik Ayır / Otomatik Sıkıştır...

🌟 Arayüz Sihri: 😊Daha Fazla Güzel ve Havalı Emoji / Önemli e-postalar geldiğinde sizi uyarır / Outlook'u Kapatmak Yerine Simge Durumuna Küçült...

👍 Tek Tıkla Harikalar: Tümüne Eklerle Yanıtla / Kimlik Avı E-postalarına Karşı Koruma / 🕘Gönderenin Saat Dilimini Göster...

👩🏼‍🤝‍👩🏻 Kişiler & Takvim: Seçilen E-postalardan Toplu Kişi Ekle / Bir Kişi Grubunu Bireysel Gruplara Böl / Doğum günü hatırlatıcısını kaldır...

Kutools for Outlook'u tek tıkla anında etkinleştirin. Beklemeyin, hemen indirin ve verimliliğinizi artırın!

kutools for outlook features1 kutools for outlook features2