Soru Outlook Saat Aralıklı Mail Araması Hk.

Katılım
30 Ocak 2012
Mesajlar
38
Excel Vers. ve Dili
Office 2016 Türkçe
Merhaba,

Outlook üzerinde belirli tarihlerdeki belirli saatler arasında gelen mailleri aramak istiyorum. Ayarları kurcaladığımda bulamadım. Farklı bir yöntemi var mıdır diye sizlere de sormak istedim.

Örneğin; 01 - 31 Ocak 2022 tarihleri arasında 09:00 - 12:00 arasında Gelen/Giden mailler neler diye arama yapabilir miyim?

Tarihten bağımsız sadece ilgili saatler arasında Gelen/Giden maillerde olabilir.
 
Katılım
20 Şubat 2007
Mesajlar
333
Excel Vers. ve Dili
2007 Office, Tr
Merhaba, Microsoft Office outlook'ta arama:

* Ctrl+Shift+F (gelişmiş arama kısayolu)
* Gelişmiş sekmesi
* Alan > Tarih/Saat alanları
* Alma tarihi > Koşul > Aralık
* Değer :
>01.01.2022 09:00 ve <31.01.2022 12:00
* Listeye ekle
* Şimdi bul
 
Katılım
30 Ocak 2012
Mesajlar
38
Excel Vers. ve Dili
Office 2016 Türkçe
Necati bey,
Verdiğiniz bilgi çok faydalı. Ancak değer aralığı saat kısmına dikkat etmiyor.
01.01.2022 09:00'dan öncekileri ve 31.01.2022 12:00'den sonrakiler gelmiyor. Ama arasındaki tarihlerde yer alan tüm saat aralıklarındaki mailleri getiriyor.
Benim sadece o tarihler arasındaki 09:00 - 12:00 arasında gelen mailler örneği gibi sorgulamam gerekiyor.
 
Katılım
30 Ocak 2012
Mesajlar
38
Excel Vers. ve Dili
Office 2016 Türkçe
Excelde formatları ayarlayıp tek tek gün gün gün de girebilirim. Ama toplu olarak arama ölçüt listesine bunu ekleyemem sanırım.
 
Katılım
20 Şubat 2007
Mesajlar
333
Excel Vers. ve Dili
2007 Office, Tr
2007 Ms outlookta sadece saat çalışmıyor. Diğer versiyonlarda nasıl, deneme imkanı olan arkadaşlar yazarlarsa memnun olurum.
Hem tarih hem de saat eklemeniz gerekir.
Ancak makro ile sadece istenilen saat aralığındaki maillerin filtrelendiği örnekler var. Makro konusuna yabancı değilseniz ekleyebilirim.
 
Katılım
30 Ocak 2012
Mesajlar
38
Excel Vers. ve Dili
Office 2016 Türkçe
Temel düzeyde makro bilgim var. Outlok üzerinden hiç makrolu bir çalışma yapmadım. Yardımcı olabilirseniz gerçekten çok sevinirim.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
3,788
Excel Vers. ve Dili
365 Tr
Outlook Gelen Kutusu Ana Penceresinde
Başlık satırında mouse Sağ Click
Görünüm Ayarları
Sütunlar
237366

Buradaki Alınam Saatini eklerseniz istediğiniz kısmen olur. Şöyleki mailler ancak bu sütunu aktif ettiğiniz saat itibariyle saat verileriyle beraber kaydedilecektir. Önceki mailler için bir işe yaramaz.
 
Katılım
20 Şubat 2007
Mesajlar
333
Excel Vers. ve Dili
2007 Office, Tr
Bir modül ekleyin ve içine şunu yapıştırın.
Tarih ve saat aralığını düzenleyin. Mailler "Alma saati" isimli kategori olarak etiketlenecek.

Kod:
Public Sub FindMailbyTime()
'Klasördeki mailleri kategorili olarak işaretler
'Böylece istenilen filtreyi elde edersiniz.
    Dim objOL As Outlook.Application
    Dim objItems As Outlook.Items
    Dim objFolder As Outlook.MAPIFolder
    Dim obj As Object
 
    Set objOL = Outlook.Application
    Set objFolder = objOL.ActiveExplorer.CurrentFolder
    Set objItems = objFolder.Items
    
    For Each obj In objItems
    If obj.MessageClass = "IPM.Note" Then

'Önce buradaki tarihleri düzenleyin
    If obj.ReceivedTime >= DateValue("01.01.1999") And obj.ReceivedTime <= DateValue("30.10.1999") Then

'Önce buradaki saatleri düzenleyin
    If Hour(obj.ReceivedTime) >= "10" And Hour(obj.ReceivedTime) < 12 Then
    
     With obj
     .Categories = "Alma Saati"
     .Save
     End With
    
    End If
    End If
    End If
    
    Next
 
    Set obj = Nothing
    Set objItems = Nothing
    Set objFolder = Nothing
    Set objOL = Nothing
End Sub
* İşaretlenen kategori etiketlerini iptal etmek için:
* Ctrl+A
* sağ tık
* kategorilere ayır
* Tüm kategorileri temizle
 
Katılım
30 Ocak 2012
Mesajlar
38
Excel Vers. ve Dili
Office 2016 Türkçe
Evet dediğiniz gibi oluyor. Maalesef işime yaramıyor ama.
Son 10 yılda çalışma saati dışında gelen mailleri bulmam lazım aslında. Hatta sadece haftasonuna gelen mailleri çıkabileceğim bir yöntem de olsa hiç fena olmaz :)
 
Katılım
20 Şubat 2007
Mesajlar
333
Excel Vers. ve Dili
2007 Office, Tr
Bir de şöyle dener misiniz. İki adet kodu da kopyalayın. Yıl aralığı makro içinde düzenlenecek. Saat aralığı "inputbox" dan girilecek.
Haftasonu kontrolü fonksiyon olarak eklendi.
Kod:
Public Sub KategoriHaftasonu()

'Klasördeki mailleri haftasonu kategorili olarak işaretler
'Böylece istenilen filtreyi elde edersiniz.

    Dim objOL As Outlook.Application
    Dim objItems As Outlook.Items
    Dim objFolder As Outlook.MAPIFolder
    Dim obj As Object
    Dim bas As Date, son As Date

    Set objOL = Outlook.Application
    Set objFolder = objOL.ActiveExplorer.CurrentFolder
    Set objItems = objFolder.Items

    bas = InputBox(vbCrLf & vbCrLf & "Şu saatten Önce", , "8")
    son = InputBox(vbCrLf & vbCrLf & "Şu saatten sonra", , "18")

    For Each obj In objItems
    If obj.MessageClass = "IPM.Note" Then
'Önce buradaki tarihleri düzenleyin
    If obj.ReceivedTime >= DateValue("01.01.2012") And obj.ReceivedTime <= DateValue("21.06.2022") Then

If IsWeekend(obj.ReceivedTime) Then
If Hour(obj.ReceivedTime) < bas Or Hour(obj.ReceivedTime) > son Then
    
     With obj
     .Categories = " Alma Saati"
     .Save
     End With
 
End If
End If
    End If
    End If

    Next
    Set obj = Nothing
    Set objItems = Nothing
    Set objFolder = Nothing
    Set objOL = Nothing

End Sub

Public Function IsWeekend(InputDate As Date) As Boolean
    Select Case Weekday(InputDate)
        Case vbSaturday, vbSunday
            IsWeekend = True
        Case Else
            IsWeekend = False
    End Select
End Function
 
Katılım
30 Ocak 2012
Mesajlar
38
Excel Vers. ve Dili
Office 2016 Türkçe
Necati Bey,
Haftasonu kontrollü makroyu çalıştırabildim. Haftasonu için saatten bağımsız olduğu için 12 < 12 değerlerini girdiğimde tüm haftasonu olanları getirdi. Tam da istediğim sonucu aldım.

İlk gönderdiğiniz kod ile de sadece haftaiçi ve çalışma saati dışında olanlar için yani 17:00 - 07:00 arası gelen mailleri filtrelemek istedim. Ancak sadece 12:00 - 07:00 arası gelenleri işaretledi. Formülde mi bir şey var emin olamadım. Makro içeriğini aşağıda paylaşıyorum.



Bu arada aynı makrolar göndermiş mailler içinde çalışır mı yoksa formüldeki "ReceivedTime" olan alanları "SendTime" olarak mı değiştirmem gerekir.

Kod:
Public Sub FindMailbyTime()
'Klasördeki mailleri kategorili olarak işaretler
'Böylece istenilen filtreyi elde edersiniz.
    Dim objOL As Outlook.Application
    Dim objItems As Outlook.Items
    Dim objFolder As Outlook.MAPIFolder
    Dim obj As Object

    Set objOL = Outlook.Application
    Set objFolder = objOL.ActiveExplorer.CurrentFolder
    Set objItems = objFolder.Items
   
    For Each obj In objItems
    If obj.MessageClass = "IPM.Note" Then

'Önce buradaki tarihleri düzenleyin
    If obj.ReceivedTime >= DateValue("01.01.2000") And obj.ReceivedTime <= DateValue("01.01.2023") Then

'Önce buradaki saatleri düzenleyin
    If Hour(obj.ReceivedTime) >= "17" And Hour(obj.ReceivedTime) < 7 Then
   
     With obj
     .Categories = "Mesai Sonrası"
     .Save
     End With
   
    End If
    End If
    End If
   
    Next

    Set obj = Nothing
    Set objItems = Nothing
    Set objFolder = Nothing
    Set objOL = Nothing
End Sub
 
Katılım
20 Şubat 2007
Mesajlar
333
Excel Vers. ve Dili
2007 Office, Tr
Gönderme tarihi olarak "SentOn" komutu kullanılıyor. Ben yaptığım denemede "SentOn" kullanmaya gerek olmadığını gördüm. "ReceivedTime" ile hem alma tarihini, hem de gönderme tarihini veriyor.
Haftaiçi günleri için de son gönderdiğim kodu sadece fonksiyonu değiştirerek kullanabilirsiniz.

Hafta içi günleri için fonksiyon:
Rich (BB code):
Public Function IsWeekend(InputDate As Date) As Boolean
    Select Case Weekday(InputDate)
        Case Is <> vbSaturday, vbSunday
            IsWeekend = True
        Case Else
            IsWeekend = False
    End Select
End Function
 
Son düzenleme:
Katılım
30 Ocak 2012
Mesajlar
38
Excel Vers. ve Dili
Office 2016 Türkçe
Necati Bey,
Şimdi tam olarak istediğim filtrelemeye ulaştım. Çok ama çok teşekkür ederim. Benim için oldukça önemli bir çalışma oldu.
 
Katılım
20 Şubat 2007
Mesajlar
333
Excel Vers. ve Dili
2007 Office, Tr
Rica ederim. Kolay gelsin.
 
Üst