按指定属性对项目的集合进行排序。在完成该方法后将集合的索引重新设置为 1。
expression.Sort(Property, Descending, Order)
expression 必选。该表达式返回“应用于”列表中的一个对象。
Property 必选,String 类型。作为排序根据的属性名称,可以用方括号括起来(如“[CompanyName]”)。不能为用户定义的字段,也不能是多值属性,如“类别”。
Descending 适用于“应用于”列表中的所有对象,除了 AddressEntries 对象。对 Results 对象为可选的 Variant 类型;对所有其他对象为可选的 Boolean 类型。降序排列为 True。默认值为 False(升序)。
Order 仅适用于 AddressEntries 对象。可选,Variant 类型。指定地址项的顺序。可以为以下 OlSortOrder 常量之一:olAscending、olDescending 或 olSortNone。
说明
对于 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