Items.SetColumns Method (Outlook)
Caches certain properties for extremely fast access to those particular properties of each item in an Items collection.
expression A variable that represents an Items object.
|Columns||Required||String||A string that contains the names of the properties to cache. The property names are delimited by commas in this string.|
The SetColumns method is useful for iterating through an Items collection. If you don't use this method, Microsoft Outlook must open each item to access the property. With the SetColumns method, Outlook only checks the properties that you have cached, and provides fast, read-only access to these properties.
After applying the SetColumns method on specific properties of the collection, you cannot read other properties of that collection; properties which are not cached are returned empty. You cannot write to any of the properties of that collection either. Alternatively, if you require read-write, fast access to a set of items, use the Table object.
SetColumns cannot be used, and will cause an error, with any property that returns an object. It cannot be used with the following properties:
The ConversationIndex property cannot be cached using the SetColumns method. However, this property will not result in an error like the other properties listed above.
The following Visual Basic for Applications (VBA) example uses the Items collection to get the items in default Tasks folder, caches the Subject and DueDate properties and then displays the subject and due dates each in turn.
Sub SortByDueDate() Dim myNameSpace As Outlook.NameSpace Dim myFolder As Outlook.Folder Dim myItem As Object Dim myItems As Outlook.Items Set myNameSpace = Application.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(olFolderTasks) Set myItems = myFolder.Items myItems.SetColumns ("Subject, DueDate") For Each myItem In myItems MsgBox myItem.Subject &; " " &; myItem.DueDate Next myItem End Sub