Microsoft KB Archive/224917

From BetaArchive Wiki

Article ID: 224917

Article Last Modified on 11/23/2006



APPLIES TO

  • Microsoft Outlook 2000 Standard Edition



This article was previously published under Q224917

SYMPTOMS

You implement the SelectionChange event in your solution expecting that the event may fire only when the user switches to a different item in a folder, but the event also fires when the user clicks a different folder.

CAUSE

When you select a folder that contains items, Outlook automatically selects the first item in the folder, so the event fires. If the folder does not contains items the SelectionChange event may not fire.

MORE INFORMATION

The Microsoft Outlook Visual Basic Reference ( Vbaoutl9.chm) is unclear on the actual behavior, and states that the event does not fire when switching folders. However, this is only true if the folder does not contain items.

[The SelectionChange event] occurs when the selection of the current view changes. Other selection changes (such as the selected folder) do not cause this event to occur...


Steps to Reproduce Problem

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 the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site:

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

  1. On the Tools menu, point to Macro and then click Visual Basic Editor.
  2. In the Project Explorer window, expand Project 1 to show entries below it, and then expand Microsoft Outlook Objects to show entries below that. Double-click the ThisOutlookSession module to open the code window.
  3. Add the following Visual Basic for Applications code to the ThisOutlookSession module:

    Dim WithEvents myOlExp As Outlook.Explorer
    
    Private Sub Application_Startup()
       Set myOlExp = Application.ActiveExplorer
    End Sub
    
    Private Sub myOlExp_Close()
       ' Need to do this so Outlook exits properly.
       Set myOlExp = Nothing
    End Sub
    
    Private Sub myOlExp_SelectionChange()
       MsgBox "SelectionChange"
    End Sub
                        
  4. Restart Outlook. The message box displays because the first item in your Inbox was selected.
  5. Switch to any folder that contains items. The message box may be displayed, indicating the SelectionChange event fired.


REFERENCES

For additional information about available resources and answers to commonly asked questions about Microsoft Outlook 2000 solutions, please see the following article in the Microsoft Knowledge Base:

146636 OL2000: Questions About Custom Forms and Outlook Solutions



Additional query words: OL2K OutSol OutSol2000 vbscript

Keywords: kbprb kbprogramming KB224917