OL97: How To Create a Categories Button on a Custom Form Page

Last reviewed: March 2, 1998
Article ID: Q173589
The information in this article applies to:
  • Microsoft Outlook 97

SUMMARY

This article describes how to create a Categories button on a Microsoft Outlook custom form page.

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 engineers 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://www.microsoft.com/support/supportnet/refguide/default.asp

Standard Outlook forms, such as a Contact or Task form, have a Categories text box that allows you to type in words to categorize Outlook items. These standard forms also contain a button that displays the Edit Categories dialog box. With this dialog box, you can select one or more categories from a list instead of manually typing the category names.

If you create a custom Outlook form and drag the Categories field to the form from the Field Chooser, a label and text box are placed on the form. It does not automatically create a button to provide the same functionality as the Outlook default form page.

You can use the following steps as a guideline for creating a command button that mimics a Categories button on a custom form page.

Steps To Create a Categories Command Button

  1. Open a new, standard Outlook form, such as a Contact form.

  2. On the Tools menu, click Design Outlook Form.

  3. Click the (P.2) tab.

  4. On the Form menu, click Display This Page.

  5. From the Field Chooser, drag the Categories field to the form page.

  6. Click in a blank area of the form page to cancel the selection, and then click the Categories label to select it.

  7. Press the Delete key to delete the label from the form.

  8. From the Control Toolbox, drag the CommandButton control onto the form page where the Categories label was located.

    You will most likely need to resize or position both the command button and the Categories text box.

  9. Right-click CommandButton1, and then click Properties.

  10. Click the Display tab, and then change the Name property to "cmdCategories" (without the quotation marks).

  11. Change the Caption property to "Categories..." (without the quotation marks), and then click OK.

  12. On the Form menu, click View Code.

  13. In the Script Editor, type the following Microsoft Visual Basic Scripting Edition (VBScript) code:

           Sub cmdCategories_Click()
              Set ai = Item.Application.ActiveInspector
              Set mb = ai.CommandBars.Item("Menu Bar")
              Set cmd = mb.Controls("Edit").Controls("Categories...")
              cmd.Execute
           End Sub
    
    

  14. On the File menu, click Close.

  15. On the Tools menu, click Design Outlook Form to exit form design mode.

  16. Click Categories, and select a few categories.

    The text box should reflect the chosen categories because it is bound to the Categories field by default.

Visual Basic for Applications Automation Solution

If you are creating a Microsoft Visual Basic or Microsoft Visual Basic for Applications solution that automates Outlook from another application, the following Sub procedure illustrates how you can display the Categories dialog box using Visual Basic code. It assumes you already have an Outlook item displayed so that the Categories command is available on the Edit menu of the form.

NOTE: You must reference the Microsoft Outlook 8.0 Object Library and the Microsoft Office 8.0 Object Library for this example to work.

   Sub EditCategories()
      Dim ol As New Outlook.Application
      Dim cb as Object
      Set cb = ol.ActiveInspector.CommandBars
      cb.Item("Edit").Controls("Categories...").Execute
   End Sub

REFERENCES

For more information about creating solutions with Microsoft Outlook 97, please see the following articles in the Microsoft Knowledge Base:

   Article-ID: Q166368
   Title     : OL97: How to Get Help Programming with Outlook

   Article-ID: Q170783
   Title     : OL97: Q&A: Questions about Customizing or
               Programming Outlook


Additional query words: OutSol OutSol97
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbhowto
Solution Type : kbworkaround


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 2, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.