View Object

Microsoft Outlook Visual Basic

View Object

Views View

The View object allows you to create customizable views that allow you to better sort, group and ultimately view data of all different types. There are a variety of different view types that provide the flexibility needed to create and maintain your important data.

  • The table view type (olTableView) allows you to view data in a simple field-based table.

  • The Calendar view type (olCalendarView) allows you to view data in a calendar format.

  • The card view type (olCardView) allows you to view data in a series of cards. Each card displays the information contained by the item and can be sorted.

  • The icon view type (olIconView) allows you to view data as icons, similar to a Windows folder or explorer.

  • The timeline view type (olTimelineView) allows you to view data as it is received in a customizable linear time line.

Views are defined and customized using the View object's XML property. The XML property allows you to create and set a customized XML schema that defines the various features of a view.

Using the View object

Use Views(index), where index is the name of the View object or its ordinal value, to return a single View object. The following example returns a view called Table View and stores it in a variable of type View called objView. Before running this example, make sure a view by the name 'Table View' exists.

Sub GetView()
'Creates a new view

    Dim olApp As Outlook.Application
    Dim objName As NameSpace
    Dim objViews As Views
    Dim objView As View

    Set olApp = Outlook.Application
    Set objName = olApp.GetNamespace("MAPI")
    Set objViews = objName.GetDefaultFolder(olFolderInbox).Views
    'Return a view called Table View
    Set objView = objViews.Item("Table View")

End Sub

		

Use the Add method of the Views collection to create a new view. The following example creates a new view of type olTableView called New Table.

Sub CreateView()
'Creates a new view

    Dim olApp As Outlook.Application
    Dim objName As NameSpace
    Dim objViews As Views
    Dim objNewView As View

    Set olApp = Outlook.Application
    Set objName = olApp.GetNamespace("MAPI")
    Set objViews = objName.GetDefaultFolder(olFolderInbox).Views
    Set objNewView = objViews.Add(Name:="New Table", _
                     ViewType:=olTableView, SaveOption:=olViewSaveOptionThisFolderEveryone)

End Sub