sort items in folder...

User avatar
sal21
PlatinumLounger
Posts: 4352
Joined: 26 Apr 2010, 17:36

sort items in folder...

Post by sal21 »

How to order Ascending items, before the next loop, in folder SERVIZIO

My piece of code:

Code: Select all

Set olFld = olNsp.GetDefaultFolder(6).Parent.Folders("SERVIZIO")
    Me.ComboBox1.Clear
    For Each olItm In olFld.Items
        If InStr(olItm.Subject, "week") Then
            TEST = olItm.ReceivedTime
            If Int(TEST) <> Int(ORDINA_PREV) Then
                Me.ComboBox1.AddItem Format(TEST, "dd/mm/yyyy hh:mm")
                ORDINA_PREV = TEST
                I = I + 1
            End If
        End If
    Next olItm

User avatar
HansV
Administrator
Posts: 78415
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: sort items in folder...

Post by HansV »

You can sort the Items collection:

Code: Select all

    Dim itms As Outlook.Items ' or As Object
    Set olFld = olNsp.GetDefaultFolder(6).Parent.Folders("SERVIZIO")
    Me.ComboBox1.Clear
    Set itms = oFld.Items
    itms.Sort "[ReceivedTime]", False
    For Each olItm In itms
        If InStr(olItm.Subject, "week") Then
            TEST = olItm.ReceivedTime
            If Int(TEST) <> Int(ORDINA_PREV) Then
                Me.ComboBox1.AddItem Format(TEST, "dd/mm/yyyy hh:mm")
                ORDINA_PREV = TEST
                I = I + 1
            End If
        End If
    Next olItm
Best wishes,
Hans

User avatar
sal21
PlatinumLounger
Posts: 4352
Joined: 26 Apr 2010, 17:36

Re: sort items in folder...

Post by sal21 »

HansV wrote:You can sort the Items collection:

Code: Select all

    Dim itms As Outlook.Items ' or As Object
    Set olFld = olNsp.GetDefaultFolder(6).Parent.Folders("SERVIZIO")
    Me.ComboBox1.Clear
    Set itms = oFld.Items
    itms.Sort "[ReceivedTime]", False
    For Each olItm In itms
        If InStr(olItm.Subject, "week") Then
            TEST = olItm.ReceivedTime
            If Int(TEST) <> Int(ORDINA_PREV) Then
                Me.ComboBox1.AddItem Format(TEST, "dd/mm/yyyy hh:mm")
                ORDINA_PREV = TEST
                I = I + 1
            End If
        End If
    Next olItm
You're the :clapping: !
Thank you.