OL98: How to Use the SetColumns Method (184462)
The information in this article applies to:
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:
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
OL98: Resources for Custom Forms and Programming
182349
OL98: Questions About Custom Forms and Outlook Solutions
Modification Type: | Minor | Last Reviewed: | 2/27/2004 |
---|
Keywords: | kbdtacode kbhowto kbProgramming KB184462 |
---|
|