Microsoft KB Archive/184462

= OL98: How to Use the SetColumns Method =

Article ID: 184462

Article Last Modified on 2/27/2004

-

APPLIES TO


 * Microsoft Outlook 98 Standard Edition

-



This article was previously published under Q184462



SUMMARY
This article provides an example of how to use the SetColumns command in the Microsoft Outlook 98 object model.



MORE INFORMATION
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft Support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

The SetColumns method caches Outlook fields to improve performance when programmatically manipulating these fields. The method works with most standard Outlook fields, but does not work with user-defined fields.

For more information on which fields cannot be used with the SetColumns method, consult the SetColumns Method topic in the Microsoft Outlook Visual Basic Help file (Vbaoutl.hlp).

NOTE: Outlook already caches the Subject and Message Class fields for all types of items, so using the SetColumns method with these fields is unnecessary. On appointments, Outlook also caches some additional standard Outlook properties, such as Start, End, Location, Duration and BusyStatus.

The following sample subroutine illustrates the use and syntax of the SetColumns method. Before using this automation example from Visual Basic or another Microsoft Office program, you should have at least ten contacts in your default contacts folder and create a reference to the Outlook 98 object library. Sub SetColumns_Example Dim ol As Outlook.Application Dim MyFolder As MAPIFolder Dim itms As Items Dim itm As Object Dim dtmStart As Date, dtmEnd As Date Dim lngElapsed As Long Set ol = New Outlook.Application Set MyFolder = ol.Session.GetDefaultFolder(10) Set itms = MyFolder.Items itms.SetColumns "[FullName],[CompanyName]" Debug.Print "WITH SETCOLUMNS" Debug.Print Time Debug.Print "--" dtmStart = Time For Each itm In itms Debug.Print itm.FullName & ", " & itm.CompanyName Next dtmEnd = Time lngElapsed = DateDiff("s", dtmStart, dtmEnd) Debug.Print "Elapsed Time: " & lngElapsed Debug.Print

itms.ResetColumns Debug.Print "WITHOUT SETCOLUMNS" Debug.Print Time Debug.Print "--" dtmStart = Time For Each itm In itms Debug.Print itm.FullName & ", " & itm.CompanyName Next dtmEnd = Time lngElapsed = DateDiff("s", dtmStart, dtmEnd) Debug.Print "Elapsed Time: " & lngElapsed End Sub

