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

ID: Q173589

The information in this article applies to:

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 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://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
Keywords          :  
Version           : WINDOWS:97
Platform          : WINDOWS
Issue type        : kbhowto

Last Reviewed: May 17, 1999