Sort 方法

       

按指定属性对项目的集合进行排序。在完成该方法后将集合的索引重新设置为 1。

expression.Sort(Property, Descending, Order)

expression  必选。该表达式返回“应用于”列表中的一个对象。

Property  必选,String 类型。作为排序根据的属性名称,可以用方括号括起来(如“[CompanyName]”)。不能为用户定义的字段,也不能是多值属性,如“类别”。

Descending  适用于“应用于”列表中的所有对象,除了 AddressEntries 对象。对 Results 对象为可选的 Variant 类型;对所有其他对象为可选的 Boolean 类型。降序排列为 True。默认值为 False(升序)。

Order  仅适用于 AddressEntries 对象。可选,Variant 类型。指定地址项的顺序。可以为以下 OlSortOrder 常量之一:olAscendingolDescendingolSortNone

说明

对于 Items 集合,Sort 不能与以下属性一起使用,否则将导致出错:

Categories

Children

Class

Companies

CompanyLastFirstNoSpace

CompanyLastFirstSpaceOnly

Contacts

DLName

IsOnlineMeeting

LastFirstAndSuffix

LastFirstNoSpace

LastFirstNoSpaceCompany

LastFirstSpaceOnly

LastFirstSpaceOnlyCompany

MemberCount

NetMeetingAlias

NetMeetingAutoStart

NetMeetingOrganizerAlias

NetMeetingServer

NetMeetingType

RecurrenceState

ResponseState

Sent

Saved


Sort 仅影响集合中项目的顺序,不影响浏览器视图中项目的顺序。

示例

本 Visual Basic for Applications 示例使用 Sort 方法按“CompanyName”属性对默认“联系人”文件夹的 Items 集合进行排序,然后按顺序显示单位名称。

Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = _
    myNameSpace.GetDefaultFolder(olFolderContacts)
Set myItems = myFolder.Items
myItems.Sort "[CompanyName]", False
For Each myItem in myItems
    MsgBox myItem.CompanyName
Next myItem

如果使用 VBScript,则不创建 Application 对象,而且也不能使用命名常量。本示例说明如何使用 VBScript 执行相同任务。

Set myNamespace = Application.GetNamespace("MAPI")
Set myFolder = _
    myNameSpace.GetDefaultFolder(10)
Set myItems = myFolder.Items
myItems.Sort "[CompanyName]", False
For Each myItem in myItems
    MsgBox myItem.CompanyName
Next