Article ID: 184462 - Last Review: February 27, 2004 - Revision: 1.2

OL98: How to Use the SetColumns Method

This article was previously published under Q184462
Expand all | Collapse all

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 a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:

Microsoft Certified Partners - https://partner.microsoft.com/global/30000104 (https://partner.microsoft.com/global/30000104)

Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice (http://support.microsoft.com/gp/advisoryservice)

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS (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
				

REFERENCES

For more information about creating solutions with Microsoft Outlook 98, please see the following articles in the Microsoft Knowledge Base:
180826  (http://support.microsoft.com/kb/180826/EN-US/ ) OL98: Resources for Custom Forms and Programming

182349  (http://support.microsoft.com/kb/182349/EN-US/ ) OL98: Questions About Custom Forms and Outlook Solutions

APPLIES TO
  • Microsoft Outlook 98 Standard Edition
Keywords: 
kbdtacode kbhowto kbprogramming KB184462
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
 

Article Translations