Items.Sort Method (Outlook)

Sorts the collection of items by the specified property. The index for the collection is reset to 1 upon completion of this method.

Syntax

expression .Sort(Property, Descending)

expression A variable that represents an Items object.

Parameters

Name

Required/Optional

Data Type

Description

Property

Required

String

The name of the property by which to sort, which may be enclosed in brackets, for example, "[CompanyName]". User-defined properties that contain spaces must be enclosed in brackets. May not be a user-defined property of type keywords, and may not be a multi-valued property, such as a category. For user-defined properties, the property must exist in the UserDefinedProperties collection for Items.Parent, which represents the Folder object that contains the items.

Descending

Optional

Variant

True to sort in descending order. The default value is False (ascending).

Remarks

Sort only affects the order of items in a collection. It does not affect the order of items in an explorer view.

Sort cannot be used and will cause an error if the Property paramater is one of the following properties:

Categories

LastFirstSpaceOnly

Children

LastFirstSpaceOnlyCompany

Class

MemberCount

CompanyLastFirstNoSpace

NetMeetingAlias

CompanyLastFirstSpaceOnly

RecurrenceState

DLName

ResponseState

LastFirstAndSuffix

Saved

LastFirstNoSpace

Sent

LastFirstNoSpaceCompany

Example

The following Visual Basic for Applications (VBA) example uses the Sort method to sort the Items collection for the default Tasks folder by the "DueDate" property and displays the due dates each in turn.

Sub SortByDueDate() 
 Dim myNameSpace As Outlook.NameSpace 
 Dim myFolder As Outlook.Folder 
 Dim myItem As Outlook.TaskItem 
 Dim myItems As Outlook.Items 
 
 Set myNameSpace = Application.GetNamespace("MAPI") 
 Set myFolder = myNameSpace.GetDefaultFolder(olFolderTasks) 
 Set myItems = myFolder.Items 
 myItems.Sort "[DueDate]", False 
 For Each myItem In myItems 
 MsgBox myItem.Subject & "-- " & myItem.DueDate 
 Next myItem 
End Sub

See Also

Concepts

Items Object

Items Object Members