# Outlook Classic — Views & Formatting

Version 1.0 · Reviewed 2026-09-17

Classic Outlook for Windows: mail TableView settings, formatting and their immediate dependencies. Excludes Calendar/People/Tasks views, composing email, Inbox Rules actions, registry tweaks, unsupported view XML recipes and Outlook mobile/new/web behavior.

Microsoft documentation establishes APIs and stated behavior. Guide synthesis is a diagnostic recommendation. Workflow notes describe a convention, not an Outlook guarantee. This reference was not live-tested against the user’s Outlook installation.

## How to use this resource

Attach this Markdown file to the conversation in which you want grounded answers. This resource does not install a plugin, connect to Outlook or automatically become available in every chat. JSON and printable documents are available in the Field Guide.

## Answer protocol

Use this reference for Classic Outlook for Windows mail views. Start with the exact target surface and active folder/view. Cite F/R IDs and Microsoft URLs. Separate documented behavior, guide synthesis and unverified customizations. Before suggesting a change, state scope, dependencies, affected item data, expected consequence, undo and a bounded verification step. Never invent a property or promise color precedence not established here. Preserve originals in copy-based workflows. Treat manually configured rules as intentional until a tested reason justifies replacing them. Ask for Outlook build only when behavior or UI differs. A website/resource does not by itself install a plugin, access Outlook or become available to every future chat.

## Index

- [F01 — Folder & Search Folder](#f01)

- [F02 — Active view](#f02)

- [F03 — View availability / scope](#f03)

- [F04 — Copy / save a named view](#f04)

- [F05 — Apply vs. save](#f05)

- [F06 — Reset / delete a view](#f06)

- [F07 — View filter](#f07)

- [F08 — Instant Search & its scope](#f08)

- [F09 — Columns / Field Chooser](#f09)

- [F10 — Sort order](#f10)

- [F11 — Group By](#f11)

- [F12 — Automatically group / show groups](#f12)

- [F13 — Group expansion default](#f13)

- [F14 — Show as Conversations](#f14)

- [F15 — Conversation indentation & order](#f15)

- [F16 — Show messages from other folders](#f16)

- [F17 — Conversation senders & expansion](#f17)

- [F18 — Compact / single-line / multiline](#f18)

- [F19 — Column sizing](#f19)

- [F20 — Default message row font](#f20)

- [F21 — Column heading font](#f21)

- [F22 — Message preview & preview font](#f22)

- [F23 — Conditional formatting rule](#f23)

- [F24 — Rule condition](#f24)

- [F25 — Rule font / color / bold](#f25)

- [F26 — Built-in formatting rules](#f26)

- [F27 — Custom rule order / enable / remove](#f27)

- [F28 — Reading Pane visibility & header](#f28)

- [F29 — Grid lines / in-cell editing / new row](#f29)

- [F30 — Categories](#f30)

- [F31 — Billing Information marker](#f31)

- [F32 — Read / unread state](#f32)

- [F33 — Custom item & folder fields](#f33)

- [F34 — Lock user changes](#f34)

- [F35 — View XML](#f35)

- [F36 — View-switch events & automation](#f36)

- [F37 — Conversation header appearance](#f37)

- [F38 — Apply a view to other folders](#f38)

- [F39 — Column labels, alignment & formats](#f39)

- [F40 — View language](#f40)

- [F41 — Read the visible view as a table](#f41)

- [R01 — A view is a presentation, not a container](#r01)

- [R02 — Visibility has more than one gate](#r02)

- [R03 — The active window and view matter](#r03)

- [R04 — A screen change is not a persistence test](#r04)

- [R05 — Availability is not application](#r05)

- [R06 — Formatting has a dedicated save](#r06)

- [R07 — Reset is not a harmless refresh](#r07)

- [R08 — Different filters use different languages](#r08)

- [R09 — Width can change the layout](#r09)

- [R10 — Sort, group and automatic grouping are separate](#r10)

- [R11 — Grouping is not the conversation switch](#r11)

- [R12 — Other-folder items can appear in a conversation](#r12)

- [R13 — Conversation order has a mode-specific exception](#r13)

- [R14 — Conversation summaries are not message rows](#r14)

- [R15 — Formatting has a target surface](#r15)

- [R16 — Built-in rules have fixed boundaries](#r16)

- [R17 — Order is documented; universal font merging is not](#r17)

- [R18 — A condition reads a field, not its label](#r18)

- [R19 — Read state can change matching](#r19)

- [R20 — Reading can change data](#r20)

- [R21 — Separate display edits from message edits](#r21)

- [R22 — A workflow marker is a convention](#r22)

- [R23 — Item values and folder definitions differ](#r23)

- [R24 — There may be another writer](#r24)

- [R25 — Unsupported is not the same as impossible](#r25)

- [R26 — Single-line mode can be forced](#r26)

- [R27 — Collection order is not always column order](#r27)

- [R28 — Rule names are not unique identifiers](#r28)

- [R29 — Language can restrict view availability](#r29)

- [R30 — GetTable is not the rendered screen](#r30)

## 01 — Functions & dependencies

<a id="f01"></a>

### F01 — Folder & Search Folder

Layer: Source | Evidence: Documented

Decides which stored messages are available to the view. A Search Folder presents matching items without making copies.

**Where:** Folder pane; Folder > New Search Folder

**VBA:** Partial — `Explorer.CurrentFolder; Search.Save`

**Depends on:** Source folder and intended items

**Rules:** R01, R02

**Consequence:** Changing the source changes the available messages. Actions on Search Folder results act on the underlying items.

**Undo:** Return to the original folder; distinguish deleting a Search Folder from deleting messages in its results.

A macro-created results folder containing copies is different from a Search Folder.

**Sources:** [Search Folders](https://support.microsoft.com/en-us/outlook/mail/use-search-folders-to-find-messages-or-other-outlook-items) · [Save a Search Folder](https://learn.microsoft.com/en-us/office/vba/api/outlook.search.save)

<a id="f02"></a>

### F02 — Active view

Layer: View | Evidence: Documented

The named arrangement currently shown in an Outlook window.

**Where:** View > Change View

**VBA:** Yes — `Explorer.CurrentView`

**Depends on:** F01

**Rules:** R03, R04

**Consequence:** Switching views can change the filter, columns, arrangement and formatting together.

**Undo:** Select the previous view by name.

Capture the current View object once before inspecting or modifying it.

**Sources:** [Active window and current view](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.currentview)

<a id="f03"></a>

### F03 — View availability / scope

Layer: View | Evidence: Documented

Controls where a saved view is available and who can read it. Availability does not mean it is applied everywhere.

**Where:** View > Change View > Manage Views > New or Copy

**VBA:** Creation only — `Views.Add; View.Copy; View.SaveOption (read-only)`

**Depends on:** F01, F02

**Rules:** R03, R05, R29

**Consequence:** A view may be available for this folder or more widely. Applying it elsewhere is a separate action.

**Undo:** Copy the view with the intended save option.

Do not assume a view name identifies the same definition in every folder or profile.

**Sources:** [View availability and permissions](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.saveoption) · [Create a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.views.add) · [Copy a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.copy)

<a id="f04"></a>

### F04 — Copy / save a named view

Layer: View | Evidence: Documented

Preserves a working arrangement before experimentation.

**Where:** View > Change View > Save Current View As a New View, or Manage Views > Copy

**VBA:** Yes — `View.Copy; View.Save`

**Depends on:** F02, F03

**Rules:** R04, R05

**Consequence:** Creates a view definition; it does not back up messages or the whole Outlook profile.

**Undo:** Reapply the preserved view.

Suggested names: People Results — Working and People Results — Before Change.

**Sources:** [Copy a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.copy) · [Save a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.save)

<a id="f05"></a>

### F05 — Apply vs. save

Layer: View | Evidence: Documented

Apply displays a view; Save persists its definition. Formatting rules also have their own Save method.

**Where:** UI: accept the view dialogs with OK; VBA: explicit saves

**VBA:** Yes — `AutoFormatRules.Save; View.Save; View.Apply`

**Depends on:** F02

**Rules:** R04, R06

**Consequence:** A visible change alone is not a persistence test.

**Undo:** Reapply the known-good view; retest after switching folders and restarting Outlook.



**Sources:** [Save formatting rules](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.save) · [Save a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.save) · [Apply a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.apply)

<a id="f06"></a>

### F06 — Reset / delete a view

Layer: View | Evidence: Documented

Reset restores a built-in view; Delete removes a custom view definition.

**Where:** View > Reset View; Manage Views > Delete

**VBA:** Yes — `View.Reset; View.Delete`

**Depends on:** F02, F04

**Rules:** R07

**Consequence:** Can discard custom view settings. Does not delete the folder’s messages.

**Undo:** Restore a prior view copy; there is no promised universal Undo for discarded definitions.

Avoid global /cleanviews as routine troubleshooting; it is outside this guide’s repair workflow.

**Sources:** [Reset a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.reset) · [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview)

<a id="f07"></a>

### F07 — View filter

Layer: Membership | Evidence: Documented

Hides items that do not meet the view’s conditions.

**Where:** View > View Settings > Filter

**VBA:** Yes — `TableView.Filter (DASL)`

**Depends on:** F01, F02

**Rules:** R02, R08

**Consequence:** A message can exist in the folder but disappear from this view. Formatting cannot make an excluded item visible.

**Undo:** Clear only the intended filter or reapply the prior view.



**Sources:** [View filter](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.filter)

<a id="f08"></a>

### F08 — Instant Search & its scope

Layer: Membership | Evidence: Documented

Temporarily searches the selected scope; separate from a saved view’s filter.

**Where:** Search box > scope selector

**VBA:** Partial — `Explorer.Search; Search scope enums`

**Depends on:** F01, F07

**Rules:** R02, R08

**Consequence:** Search results are not proof that a saved view includes the same messages.

**Undo:** Close Search and return to the original folder before comparing views.

See the existing Field Guide search builder. Its search-box syntax must not be pasted into a VBA DASL property.

**Sources:** [Search Folders](https://support.microsoft.com/en-us/outlook/mail/use-search-folders-to-find-messages-or-other-outlook-items) · [Search the explorer](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.search)

<a id="f09"></a>

### F09 — Columns / Field Chooser

Layer: Layout | Evidence: Documented

Chooses which message properties appear as columns and in what order.

**Where:** View > View Settings > Columns; right-click headings > Field Chooser

**VBA:** Yes — `TableView.ViewFields; ViewFields.Add/Remove; ViewField`

**Depends on:** F02, F18

**Rules:** R09, R27

**Consequence:** A stored field may exist even when it is not displayed. Compact layout can hide conventional columns.

**Undo:** Restore the previous column set and order.

ViewFields collection order does not necessarily match displayed column order. Microsoft documents reading View.XML to recover the display order.

**Sources:** [Displayed columns](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfields) · [Column properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfield) · [Message list layout and columns](https://support.microsoft.com/en-us/outlook/mail/change-how-the-message-list-is-displayed-in-outlook)

<a id="f10"></a>

### F10 — Sort order

Layer: Arrangement | Evidence: Documented

Orders items using one or more fields, such as Received or Sent.

**Where:** View > View Settings > Sort

**VBA:** Yes — `TableView.SortFields (OrderFields)`

**Depends on:** F02

**Rules:** R10, R11

**Consequence:** May move messages without changing their contents. A table sort does not freely override conversation-internal order.

**Undo:** Restore the original fields and ascending/descending directions.



**Sources:** [Sort fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.sortfields) · [Sort/group field properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.orderfield) · [Conversation order and indentation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate)

<a id="f11"></a>

### F11 — Group By

Layer: Arrangement | Evidence: Documented

Creates headings around items with shared field values.

**Where:** View > View Settings > Group By

**VBA:** Yes — `TableView.GroupByFields (OrderFields)`

**Depends on:** F02, F12

**Rules:** R10, R11

**Consequence:** Grouping on Conversation is not by itself the native Show as Conversations switch.

**Undo:** Restore prior grouping; verify Show as Conversations separately.

A generic group heading and a native conversation header are different display elements.

**Sources:** [Grouping fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.groupbyfields) · [Conversation order and indentation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate)

<a id="f12"></a>

### F12 — Automatically group / show groups

Layer: Arrangement | Evidence: Documented

Lets Outlook group by the arrangement and determines whether group headings are shown.

**Where:** Group By > Automatically group according to arrangement; View > Show in Groups

**VBA:** Yes — `TableView.AutomaticGrouping; ShowItemsInGroups`

**Depends on:** F02

**Rules:** R10

**Consequence:** Automatic grouping may account for headings you did not manually define.

**Undo:** Restore both switches; then check explicit Group By fields.



**Sources:** [Automatic grouping](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticgrouping) · [Show items in groups](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showitemsingroups)

<a id="f13"></a>

### F13 — Group expansion default

Layer: Arrangement | Evidence: Documented

Sets how ordinary groups initially expand or collapse.

**Where:** View Settings > Group By > Expand/collapse defaults

**VBA:** Yes — `TableView.DefaultExpandCollapseSetting`

**Depends on:** F11

**Rules:** R11

**Consequence:** Controls groups; do not equate it with the selected-conversation expansion option.

**Undo:** Restore the previous default.



**Sources:** [Default group expansion](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.defaultexpandcollapsesetting)

<a id="f14"></a>

### F14 — Show as Conversations

Layer: Conversation | Evidence: Documented

Enables Outlook’s native conversation presentation.

**Where:** View > Show as Conversations > This folder or All mailboxes

**VBA:** UI recommended — `No dedicated enable switch in the documented TableView member list`

**Depends on:** F01, F02

**Rules:** R11, R12

**Consequence:** Creates expandable conversation presentation; the UI asks how widely to apply the choice.

**Undo:** Toggle it off for the same intended scope.

Do not substitute ShowConversationByDate=True as the on/off switch.

**Sources:** [Conversation view in classic Outlook](https://support.microsoft.com/en-us/outlook/mail/view-email-messages-by-conversation-in-outlook) · [Conversation order and indentation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate) · [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview)

<a id="f15"></a>

### F15 — Conversation indentation & order

Layer: Conversation | Evidence: Documented

Chooses flat, newest-first presentation or the classic indented thread layout.

**Where:** View > Conversation Settings > Use Classic Indented View

**VBA:** Yes — `TableView.ShowConversationByDate`

**Depends on:** F14

**Rules:** R11, R13

**Consequence:** True: flat, newest received first. False: indented threads, earlier roots first. Apply collapses conversations.

**Undo:** Restore the previous property value, apply, then expand a thread to inspect it.

Support gives a simplified newest-first description; Learn documents the indented-mode exception.

**Sources:** [Conversation order and indentation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate)

<a id="f16"></a>

### F16 — Show messages from other folders

Layer: Conversation | Evidence: Documented

Includes related conversation items stored outside the current folder.

**Where:** View > Conversation Settings > Show Messages from Other Folders

**VBA:** Yes — `TableView.ShowFullConversations`

**Depends on:** F14

**Rules:** R12

**Consequence:** The screen can contain related items beyond the current folder. This does not move or copy them into it.

**Undo:** Turn this setting off when auditing only a results folder’s contents.

Microsoft documents this property as effective when the table displays by date and conversation.

**Sources:** [Messages from other folders](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showfullconversations)

<a id="f17"></a>

### F17 — Conversation senders & expansion

Layer: Conversation | Evidence: Documented

Changes header emphasis and expansion for the selected conversation.

**Where:** View > Conversation Settings > Show Senders Above the Subject / Always Expand Selected Conversation

**VBA:** Yes — `ShowConversationSendersAboveSubject; AlwaysExpandConversation`

**Depends on:** F14

**Rules:** R11, R14

**Consequence:** Changes conversation presentation; it does not create a message-level font rule.

**Undo:** Restore the two conversation options.

Microsoft Support describes expansion of the selected conversation; Learn describes full vs partial default expansion. Check the behavior in your Outlook build rather than treating the wording as a promise that every thread opens.

**Sources:** [Senders above subject](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationsendersabovesubject) · [Expand selected conversation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.alwaysexpandconversation) · [Conversation view in classic Outlook](https://support.microsoft.com/en-us/outlook/mail/view-email-messages-by-conversation-in-outlook)

<a id="f18"></a>

### F18 — Compact / single-line / multiline

Layer: Layout | Evidence: Documented

Controls how message details fit into the available list width.

**Where:** View > Change View; View Settings > Other Settings

**VBA:** Yes — `TableView.MultiLine; MultiLineWidth; MaxLinesInMultiLineView`

**Depends on:** F02, F19

**Rules:** R09, R26

**Consequence:** Narrowing the list or moving the Reading Pane may change the appearance even with the same columns.

**Undo:** Restore layout mode and list width.

olWidthMultiLine requires AutomaticColumnSizing=True. The threshold is documented in characters, not screen pixels. In-cell editing forces single-line mode.

**Sources:** [Multiline layout](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multiline) · [Multiline threshold](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multilinewidth) · [Maximum multiline rows](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.maxlinesinmultilineview)

<a id="f19"></a>

### F19 — Column sizing

Layer: Layout | Evidence: Documented

Allows Outlook to size columns automatically or use explicit field widths.

**Where:** View Settings > Other Settings; column edges; Format Columns

**VBA:** Yes — `TableView.AutomaticColumnSizing; ViewField.ColumnFormat.Width`

**Depends on:** F09

**Rules:** R09, R26

**Consequence:** Changing available space can alter which details are visible and when multiline presentation activates.

**Undo:** Restore the previous sizing mode and widths.

AutomaticColumnSizing=False forces MultiLine=olAlwaysSingleLine.

**Sources:** [Automatic column sizing](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticcolumnsizing) · [Column properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfield) · [Multiline threshold](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multilinewidth) · [Column display settings](https://learn.microsoft.com/en-us/office/vba/api/outlook.columnformat)

<a id="f20"></a>

### F20 — Default message row font

Layer: Formatting | Evidence: Documented

Sets the base font for ordinary message rows.

**Where:** View Settings > Other Settings > Row Font

**VBA:** Yes — `TableView.RowFont (ViewFont)`

**Depends on:** F02

**Rules:** R15

**Consequence:** A matching conditional formatting rule can change the appearance of a row.

**Undo:** Restore the base font and inspect conditional rules separately.



**Sources:** [Default row font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.rowfont) · [ViewFont properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfont)

<a id="f21"></a>

### F21 — Column heading font

Layer: Formatting | Evidence: Documented

Styles headings such as From, Subject and Received.

**Where:** View Settings > Other Settings > Column Font

**VBA:** Yes — `TableView.ColumnFont (ViewFont)`

**Depends on:** F09

**Rules:** R15

**Consequence:** Does not change the message body or define a conversation-header rule.

**Undo:** Restore Column Font.



**Sources:** [Column heading font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.columnfont)

<a id="f22"></a>

### F22 — Message preview & preview font

Layer: Layout | Evidence: Documented

Controls preview text shown in the message list, distinct from the Reading Pane.

**Where:** View > Message Preview; View Settings > Other Settings

**VBA:** Yes — `TableView.AutoPreview; AutoPreviewFont`

**Depends on:** F02

**Rules:** R15

**Consequence:** Changes the list’s preview text and density. This is not the formatting of the actual email body.

**Undo:** Restore preview setting and its font.



**Sources:** [Message preview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autopreview) · [Message preview font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autopreviewfont)

<a id="f23"></a>

### F23 — Conditional formatting rule

Layer: Formatting | Evidence: Documented

Formats message rows that satisfy a condition. It does not move mail or write a category.

**Where:** View > View Settings > Conditional Formatting

**VBA:** Yes — `TableView.AutoFormatRules; AutoFormatRule`

**Depends on:** F02, F20, F24

**Rules:** R15, R16, R17, R18, R28

**Consequence:** A rule applies inside the view that contains it. Similar-looking folders can have different rules.

**Undo:** Uncheck the rule first; retain its settings for comparison.



**Sources:** [Conditional formatting in classic Outlook](https://support.microsoft.com/en-us/outlook/conditional-formatting-in-classic-outlook-for-windows) · [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule)

<a id="f24"></a>

### F24 — Rule condition

Layer: Formatting | Evidence: Documented

Defines which items qualify for a custom formatting rule. A rule name is only a label.

**Where:** Conditional Formatting > select rule > Condition

**VBA:** Yes, custom rules — `AutoFormatRule.Filter (DASL)`

**Depends on:** F23

**Rules:** R08, R16, R18

**Consequence:** An empty custom filter matches all items displayed by the view. Standard-rule Filter cannot be rewritten.

**Undo:** Restore the recorded condition; verify it against a known matching and nonmatching item.

Advanced conditions need Field, Condition, Value, then Add to List. Choosing a field alone does not create a test.

**Sources:** [Custom formatting condition](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.filter)

<a id="f25"></a>

### F25 — Rule font / color / bold

Layer: Formatting | Evidence: Documented

Chooses the font properties applied to qualifying message rows.

**Where:** Conditional Formatting > select rule > Font

**VBA:** Yes — `AutoFormatRule.Font; ViewFont.Color/Bold/Italic/Size/Name`

**Depends on:** F23, F24

**Rules:** R15, R17, R19

**Consequence:** Read/unread rules and overlapping custom rules may compete. Do not infer matching from bold alone.

**Undo:** Restore the font and test with competing rules disabled in a copied view.

Font returns an object; edit its properties rather than replacing the Font object.

**Sources:** [ViewFont properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfont) · [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule)

<a id="f26"></a>

### F26 — Built-in formatting rules

Layer: Formatting | Evidence: Documented

Includes Unread messages and other Outlook-supplied rules.

**Where:** Conditional Formatting > built-in rules

**VBA:** Restricted — `AutoFormatRule.Standard; Enabled; Font`

**Depends on:** F23

**Rules:** R16, R17

**Consequence:** Can be disabled; cannot be removed or reordered. Custom rules cannot be moved above or between them.

**Undo:** Re-enable the built-in rule and restore its original font.

A built-in rule’s Name and Filter cannot be changed; inspect Standard first.

**Sources:** [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule) · [Custom formatting condition](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.filter) · [Conditional formatting in classic Outlook](https://support.microsoft.com/en-us/outlook/conditional-formatting-in-classic-outlook-for-windows) · [Built-in rule name and filter restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.standard)

<a id="f27"></a>

### F27 — Custom rule order / enable / remove

Layer: Formatting | Evidence: Documented

Manages the custom portion of the formatting-rule collection.

**Where:** Conditional Formatting > checkboxes; Move Up / Move Down; Delete

**VBA:** Yes, with restrictions — `AutoFormatRules.Add/Insert/Remove; AutoFormatRule.Enabled`

**Depends on:** F23, F26

**Rules:** R06, R17, R28

**Consequence:** Microsoft documents evaluation in collection order. That alone is not a complete property-by-property conflict specification.

**Undo:** Restore order and enabled states from your saved copy.

Use mutually exclusive conditions where possible. Do not import Inbox Rules’ Stop processing more rules into this system. A collection allows at most 25 custom rules and permits duplicate rule names.

**Sources:** [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule) · [Formatting rule collection](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules) · [Custom rule limit and duplicate names](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.add)

<a id="f28"></a>

### F28 — Reading Pane visibility & header

Layer: Layout | Evidence: Documented

Shows or hides the message preview pane and its header details.

**Where:** View > Reading Pane; Other Settings

**VBA:** Partial — `TableView.ShowReadingPane; HideReadingPaneHeaderInfo; Explorer.ShowPane`

**Depends on:** F02, F18

**Rules:** R09, R20

**Consequence:** Changing pane width affects the space left for the message list. Pane behavior may mark an item read.

**Undo:** Restore pane visibility, position and read-marking options.

These APIs are not a complete replacement for every Reading Pane UI option.

**Sources:** [Reading pane visibility](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showreadingpane) · [Reading pane header](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.hidereadingpaneheaderinfo) · [Explorer pane visibility](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.showpane) · [Reading Pane and mark-as-read options](https://support.microsoft.com/en-us/outlook/use-and-configure-the-reading-pane-to-preview-messages-in-outlook)

<a id="f29"></a>

### F29 — Grid lines / in-cell editing / new row

Layer: Layout | Evidence: Documented

Controls table lines and whether certain fields can be edited directly in the list.

**Where:** View Settings > Other Settings

**VBA:** Yes — `GridLineStyle; AllowInCellEditing; ShowNewItemRow`

**Depends on:** F02, F09

**Rules:** R21, R26

**Consequence:** In-cell editing is a data-changing action when a field is editable. Not every field or folder supports it.

**Undo:** Restore the layout setting; undo data edits separately where possible.

AllowInCellEditing=True forces single-line mode. ShowNewItemRow takes effect only while in-cell editing is enabled.

**Sources:** [Grid lines](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gridlinestyle) · [Editing in cells](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.allowincellediting) · [New item row](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.shownewitemrow)

<a id="f30"></a>

### F30 — Categories

Layer: Item data | Evidence: Documented

Stores category names on a message; category colors belong to the category system.

**Where:** Home > Categorize; message Categories field

**VBA:** Yes — `MailItem.Categories; Categories collection`

**Depends on:** F01

**Rules:** R18, R21

**Consequence:** Category color does not automatically set the entire message row’s font color.

**Undo:** Remove only the added category, preserving other category assignments.

Multiple category names use the Windows regional list separator. Never assume a comma in every installation.

**Sources:** [Message categories](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.categories) · [Color categories](https://support.microsoft.com/en-us/outlook/mail/create-and-assign-color-categories-in-outlook)

<a id="f31"></a>

### F31 — Billing Information marker

Layer: Item data | Evidence: Documented + workflow

A free-form message field that can hold a stable matching marker.

**Where:** Field Chooser / Advanced condition > All Mail fields > Billing Information

**VBA:** Yes — `MailItem.BillingInformation; MailItem.Save`

**Depends on:** F01

**Rules:** R18, R21, R22

**Consequence:** A marker-based rule fails when the marker is absent, even if the category is present.

**Undo:** Remove only your marker from results copies; preserve any original field text.

Using this field for PF - Direct Match is a workflow convention, not Microsoft’s prescribed tagging method.

**Sources:** [Billing Information field](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.billinginformation)

<a id="f32"></a>

### F32 — Read / unread state

Layer: Item data | Evidence: Documented

Stores whether a message is unread. Formatting rules and conversation summaries can react to it.

**Where:** Right-click message > Mark as Read / Mark as Unread

**VBA:** Yes — `MailItem.UnRead; MailItem.Save`

**Depends on:** F01

**Rules:** R14, R19, R20, R21

**Consequence:** Opening or selecting a message can change this state depending on Reading Pane settings.

**Undo:** Restore the prior read state if needed.



**Sources:** [Message read state](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.unread) · [Conditional formatting in classic Outlook](https://support.microsoft.com/en-us/outlook/conditional-formatting-in-classic-outlook-for-windows) · [Conversation view in classic Outlook](https://support.microsoft.com/en-us/outlook/mail/view-email-messages-by-conversation-in-outlook) · [Reading Pane and mark-as-read options](https://support.microsoft.com/en-us/outlook/use-and-configure-the-reading-pane-to-preview-messages-in-outlook)

<a id="f33"></a>

### F33 — Custom item & folder fields

Layer: Item data | Evidence: Documented

Adds a user-defined value on an item and, separately, a folder field definition.

**Where:** Field Chooser > User-defined fields in folder; VBA

**VBA:** Yes — `MailItem.UserProperties; Folder.UserDefinedProperties`

**Depends on:** F01, F09, F24

**Rules:** R18, R23

**Consequence:** A value on an item is not the same as a folder field definition used by views.

**Undo:** Remove only test properties after confirming nothing else uses them.

Check property type, existence and folder definition before using it in a view condition.

**Sources:** [Folder custom fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.userdefinedproperties) · [Item custom properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.userproperties)

<a id="f34"></a>

### F34 — Lock user changes

Layer: View | Evidence: Documented

Determines whether changes made through the view UI are saved.

**Where:** Usually configured through code

**VBA:** Yes — `TableView.LockUserChanges`

**Depends on:** F02

**Rules:** R24

**Consequence:** When True, users can change the interface, but those changes are not saved. This can explain a view that changes back.

**Undo:** Set the property back to False and save the view.

The property name sounds like a disabled-control lock. Read the documented persistence behavior instead.

**Sources:** [Lock view changes](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.lockuserchanges)

<a id="f35"></a>

### F35 — View XML

Layer: View | Evidence: Documented

Exposes the stored view definition as XML.

**Where:** VBA; no ordinary View Settings text editor

**VBA:** Yes, advanced — `View.XML`

**Depends on:** F02, F04

**Rules:** R24, R25, R27

**Consequence:** Raw XML edits can alter multiple view settings and are harder to review than named properties.

**Undo:** Restore the original definition or saved view copy.

This guide does not endorse undocumented XML switches as routine fixes.

**Sources:** [View XML definition](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.xml)

<a id="f36"></a>

### F36 — View-switch events & automation

Layer: View | Evidence: Documented

Code can observe or influence a view change; add-ins and macros may also reapply settings.

**Where:** VBA project / installed add-ins

**VBA:** Yes — `Explorer.BeforeViewSwitch; Explorer.ViewSwitch`

**Depends on:** F02

**Rules:** R04, R24

**Consequence:** A setting that changes back may have another writer. A reset is not proof of a corrupt view.

**Undo:** Inspect the specific macro/event handler; change one cause at a time.

This is a diagnostic possibility, not a finding that any particular add-in caused your issue.

**Sources:** [View switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.viewswitch) · [Before view switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.beforeviewswitch)

<a id="f37"></a>

### F37 — Conversation header appearance

Layer: Conversation | Evidence: Documented limit / unverified customization

A native conversation summary represents several messages and can show unread status.

**Where:** Show as Conversations; Conversation Settings

**VBA:** No dedicated header-color API found — `Documented TableView member inventory has no ConversationHeaderFont property`

**Depends on:** F14, F23, F32

**Rules:** R14, R15, R25

**Consequence:** A blue child message does not guarantee a blue conversation header. Microsoft documents bold unread conversation subjects.

**Undo:** Use native unread indication; test child formatting separately.

A red header whenever any child is unread is not a supported promise established by the reviewed sources.

**Sources:** [Conversation view in classic Outlook](https://support.microsoft.com/en-us/outlook/mail/view-email-messages-by-conversation-in-outlook) · [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview)

<a id="f38"></a>

### F38 — Apply a view to other folders

Layer: View | Evidence: Documented

Reuses a chosen view in additional compatible mail folders.

**Where:** View > Change View > Apply Current View to Other Mail Folders

**VBA:** Partial — `Views collections and View.Copy/Apply; UI controls target selection`

**Depends on:** F03, F04

**Rules:** R03, R05

**Consequence:** Broadens the effect beyond the folder used for testing. Do not assume future edits or separate copies remain synchronized.

**Undo:** Reapply each affected folder’s prior view.

Test one folder first and record the destination list. Availability and application are separate concepts.

**Sources:** [Copy a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.copy) · [View availability and permissions](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.saveoption) · [Message list layout and columns](https://support.microsoft.com/en-us/outlook/mail/change-how-the-message-list-is-displayed-in-outlook)

<a id="f39"></a>

### F39 — Column labels, alignment & formats

Layer: Layout | Evidence: Documented

Adjusts how a displayed field is presented, including label, width and format.

**Where:** View Settings > Format Columns

**VBA:** Yes — `ViewField.ColumnFormat`

**Depends on:** F09, F19

**Rules:** R09, R27

**Consequence:** Changing a label does not rename the underlying message property.

**Undo:** Restore the prior column format.



**Sources:** [Column display settings](https://learn.microsoft.com/en-us/office/vba/api/outlook.columnformat)

<a id="f40"></a>

### F40 — View language

Layer: View | Evidence: Documented

Can limit the view’s availability in the View menu to a particular UI language.

**Where:** Usually configured through VBA

**VBA:** Yes — `TableView.Language`

**Depends on:** F02, F03

**Rules:** R29

**Consequence:** A language-specific view may not be offered in a different language context.

**Undo:** Restore the previous ISO language tag or the empty value for all languages.



**Sources:** [View language](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.language)

<a id="f41"></a>

### F41 — Read the visible view as a table

Layer: Membership | Evidence: Documented

Provides a programmatic table representing items in the active table view.

**Where:** VBA inspection

**VBA:** Yes, read operation — `TableView.GetTable`

**Depends on:** F02, F07

**Rules:** R30

**Consequence:** The result follows the view filter, but uses its own default columns rather than copying the screen’s columns.

**Undo:** No view or message change to undo when only reading.

Requires the view’s folder to be current in a visible Explorer. It is not a screenshot of group headers or font colors.

**Sources:** [Read the current view as a table](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gettable)

## 02 — Rules & restrictions

<a id="r01"></a>

### R01 — A view is a presentation, not a container

Evidence: Documented

Start by identifying the source folder and whether results are references or actual copies.

**Why:** Deleting a result can affect an original when the result is a Search Folder reference.

**Check:** Confirm folder type before using message actions.



**Controls:** F01

**Sources:** [Search Folders](https://support.microsoft.com/en-us/outlook/mail/use-search-folders-to-find-messages-or-other-outlook-items) · [Save a Search Folder](https://learn.microsoft.com/en-us/office/vba/api/outlook.search.save)

<a id="r02"></a>

### R02 — Visibility has more than one gate

Evidence: Guide synthesis

Folder membership, a view filter and an active search can each explain a missing message.

**Why:** Font rules cannot reveal an item outside the current result set.

**Check:** Close Search, confirm folder, inspect Filter, then inspect formatting.



**Controls:** F01, F07, F08

**Sources:** [View filter](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.filter) · [Search Folders](https://support.microsoft.com/en-us/outlook/mail/use-search-folders-to-find-messages-or-other-outlook-items)

<a id="r03"></a>

### R03 — The active window and view matter

Evidence: Documented

Use Explorer.CurrentView for the view displayed in the current window and retain the returned object reference.

**Why:** A correct edit to the wrong view can look like a failed edit.

**Check:** Record folder path, view name, view type and window before changing anything.



**Controls:** F02, F03, F38

**Sources:** [Active window and current view](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.currentview) · [View availability and permissions](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.saveoption)

<a id="r04"></a>

### R04 — A screen change is not a persistence test

Evidence: Guide synthesis

After a view change, verify it after leaving the folder, returning and restarting Outlook.

**Why:** Saving, applying and later automation are separate concerns.

**Check:** If it reverts, inspect the saved definition and code that reapplies a view.



**Controls:** F02, F04, F05, F36

**Sources:** [Save a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.save) · [Apply a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.apply) · [View switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.viewswitch)

<a id="r05"></a>

### R05 — Availability is not application

Evidence: Documented

SaveOption describes where a view is available and who can read it. It is set when the view is created.

**Why:** An all-folders view is not proof that every folder currently uses it.

**Check:** Check the current view in each intended destination.



**Controls:** F03, F04, F38

**Sources:** [View availability and permissions](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.saveoption) · [Create a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.views.add)

<a id="r06"></a>

### R06 — Formatting has a dedicated save

Evidence: Documented

Microsoft documents AutoFormatRules.Save for persisting changes to rules or their collection. Save and Apply the view as appropriate too.

**Why:** A macro can appear successful before its formatting changes are retained.

**Check:** After code changes rules: rules.Save, view.Save, view.Apply; then perform the persistence test.

Some Microsoft examples show only View.Save. This guide follows the explicit AutoFormatRules.Save method contract and does not infer a universal bug from earlier experiments.

**Controls:** F05, F27

**Sources:** [Save formatting rules](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.save) · [Save a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.save) · [Apply a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.apply)

<a id="r07"></a>

### R07 — Reset is not a harmless refresh

Evidence: Documented

Built-in views can be reset and cannot be deleted; custom views can be deleted.

**Why:** Reset can remove the customization you are trying to preserve.

**Check:** Copy the working view and record the exact target before resetting.



**Controls:** F06

**Sources:** [Reset a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.reset) · [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview)

<a id="r08"></a>

### R08 — Different filters use different languages

Evidence: Documented

TableView.Filter and AutoFormatRule.Filter use DASL. Search-box expressions are a different interface.

**Why:** A working from: or category: search is not a ready-made VBA view filter.

**Check:** Identify the receiving API before composing a condition.



**Controls:** F07, F08, F24

**Sources:** [View filter](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.filter) · [Custom formatting condition](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.filter)

<a id="r09"></a>

### R09 — Width can change the layout

Evidence: Documented

Width-based multiline mode requires automatic column sizing; MultiLineWidth applies only in that mode.

**Why:** The same view can look different after resizing the window or Reading Pane.

**Check:** Compare view mode, pane width and automatic sizing before rebuilding columns.



**Controls:** F09, F18, F19, F28

**Sources:** [Multiline threshold](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multilinewidth) · [Multiline layout](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multiline) · [Automatic column sizing](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticcolumnsizing)

<a id="r10"></a>

### R10 — Sort, group and automatic grouping are separate

Evidence: Documented

Sort fields order rows; group fields form headings; automatic grouping delegates grouping to the arrangement.

**Why:** A grouping change may resemble a sorting failure.

**Check:** Record all three settings together.



**Controls:** F10, F11, F12

**Sources:** [Sort fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.sortfields) · [Grouping fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.groupbyfields) · [Automatic grouping](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticgrouping)

<a id="r11"></a>

### R11 — Grouping is not the conversation switch

Evidence: Documented

Conversation display options require conversation view. Setting ShowConversationByDate does not turn it on.

**Why:** A Conversation group can resemble a thread without behaving like the native conversation UI.

**Check:** Confirm View > Show as Conversations before testing conversation options.



**Controls:** F10, F11, F13, F14, F15, F17

**Sources:** [Conversation order and indentation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate)

<a id="r12"></a>

### R12 — Other-folder items can appear in a conversation

Evidence: Documented

ShowFullConversations can show related items stored in other folders when its conversation/date requirements hold.

**Why:** Visible items are not necessarily contained in your results folder.

**Check:** Turn the option off when auditing local copies; check each item’s parent folder.



**Controls:** F14, F16

**Sources:** [Messages from other folders](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showfullconversations)

<a id="r13"></a>

### R13 — Conversation order has a mode-specific exception

Evidence: Documented

ShowConversationByDate=True uses flat newest-first order; False uses indented threads with earlier roots first.

**Why:** Do not promise that the ordinary Sent sort controls every item inside a thread.

**Check:** Check Classic Indented View and expand a sample conversation.

Microsoft Support’s general newest-first statement is simplified; the VBA property documentation specifies both modes.

**Controls:** F15

**Sources:** [Conversation order and indentation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate)

<a id="r14"></a>

### R14 — Conversation summaries are not message rows

Evidence: Documented limit / unverified customization

Microsoft documents bold subjects for conversations containing unread messages. A row rule is not a documented aggregate header-color rule.

**Why:** A red unread child does not establish a red header whenever any child is unread.

**Check:** Inspect collapsed header and expanded child separately.



**Controls:** F17, F32, F37

**Sources:** [Conversation view in classic Outlook](https://support.microsoft.com/en-us/outlook/mail/view-email-messages-by-conversation-in-outlook) · [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule) · [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview)

<a id="r15"></a>

### R15 — Formatting has a target surface

Evidence: Guide synthesis

Row Font, Column Font, preview font, conditional row formatting, conversation summary and email body are distinct surfaces.

**Why:** Changing the wrong font can have no effect on the text you meant to change.

**Check:** Point to the exact text: column heading, message row, preview, conversation header or message body.



**Controls:** F20, F21, F22, F23, F25, F37

**Sources:** [Default row font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.rowfont) · [Column heading font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.columnfont) · [Message preview font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autopreviewfont) · [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule)

<a id="r16"></a>

### R16 — Built-in rules have fixed boundaries

Evidence: Documented

Built-in rules may be disabled but not deleted or reordered. Their Name and Filter cannot be assigned. Custom rules cannot go above or between built-ins.

**Why:** Moving a custom rule to the top is not a universal remedy.

**Check:** Inspect Standard and Enabled; isolate the relevant built-in rule in a copied test view.



**Controls:** F23, F24, F26

**Sources:** [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule) · [Custom formatting condition](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.filter) · [Built-in rule name and filter restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.standard)

<a id="r17"></a>

### R17 — Order is documented; universal font merging is not

Evidence: Documented + test required

Rules are checked in collection order. The reviewed Microsoft reference does not fully specify every overlapping-font outcome.

**Why:** Neither “last wins” nor “first wins for everything” is established here as a universal law.

**Check:** Test one rule alone, then the overlapping pair on read and unread items; prefer nonoverlapping conditions.



**Controls:** F25, F26, F27

**Sources:** [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule)

<a id="r18"></a>

### R18 — A condition reads a field, not its label

Evidence: Guide synthesis

A rule called PF - Direct Match does not test that phrase until its condition says so. Categories and Billing Information are different fields.

**Why:** A category can be present while the marker field is blank.

**Check:** Inspect the exact field used by the condition on the exact displayed message copy.



**Controls:** F24, F30, F31, F33

**Sources:** [Custom formatting condition](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.filter) · [Billing Information field](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.billinginformation) · [Message categories](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.categories)

<a id="r19"></a>

### R19 — Read state can change matching

Evidence: Guide synthesis

The standard Unread messages rule makes unread items bold; custom rules can also depend on read state.

**Why:** A color disappearing after opening an item is evidence to inspect state-dependent rules, not proof of one particular cause.

**Check:** Compare the same item read and unread with a single custom rule enabled.



**Controls:** F25, F32

**Sources:** [Conditional formatting in classic Outlook](https://support.microsoft.com/en-us/outlook/conditional-formatting-in-classic-outlook-for-windows) · [Message read state](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.unread)

<a id="r20"></a>

### R20 — Reading can change data

Evidence: Guide synthesis

Marking a message read changes its UnRead property; view formatting may then react.

**Why:** A preview interaction may change the condition you are testing.

**Check:** Record the Reading Pane’s mark-as-read options and compare read states deliberately.



**Controls:** F28, F32

**Sources:** [Message read state](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.unread) · [Reading Pane and mark-as-read options](https://support.microsoft.com/en-us/outlook/use-and-configure-the-reading-pane-to-preview-messages-in-outlook)

<a id="r21"></a>

### R21 — Separate display edits from message edits

Evidence: Guide synthesis

Changing a view font affects presentation; changing Categories, BillingInformation or UnRead changes an item.

**Why:** A view reset does not undo message-field edits.

**Check:** For a copy-based workflow, write only to the intended copies and preserve existing values.



**Controls:** F29, F30, F31, F32

**Sources:** [Message categories](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.categories) · [Billing Information field](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.billinginformation) · [Message read state](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.unread)

<a id="r22"></a>

### R22 — A workflow marker is a convention

Evidence: Documented + workflow

Billing Information is documented as writable free-form text. Using it as a direct-match marker is a local workflow choice.

**Why:** A later macro must keep that convention consistent; the API alone does not create the marker.

**Check:** Verify the marker after copying, moving and saving a result item.



**Controls:** F31

**Sources:** [Billing Information field](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.billinginformation)

<a id="r23"></a>

### R23 — Item values and folder definitions differ

Evidence: Documented

UserProperties belongs to an item; UserDefinedProperties describes custom properties for a folder.

**Why:** A field may not be available to a view just because one item has a value.

**Check:** Check both the item value and the folder field definition with the intended property type.



**Controls:** F33

**Sources:** [Folder custom fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.userdefinedproperties) · [Item custom properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.userproperties)

<a id="r24"></a>

### R24 — There may be another writer

Evidence: Guide synthesis

LockUserChanges=True lets the UI change but prevents those UI changes from being saved. View-switch code can also react to a view change.

**Why:** Repeated reversion needs an inspection of the specific view and automation, not more random toggles.

**Check:** Check lock state, event handlers and macro code before escalating.



**Controls:** F34, F35, F36

**Sources:** [Lock view changes](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.lockuserchanges) · [View switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.viewswitch) · [Before view switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.beforeviewswitch)

<a id="r25"></a>

### R25 — Unsupported is not the same as impossible

Evidence: Evidence policy

No dedicated API found means the reviewed public object model does not establish that capability. It does not prove every add-in or internal XML route is impossible.

**Why:** An experimental workaround must not become a guaranteed instruction.

**Check:** Label evidence and test scope; use a copied view before any unsupported experiment.



**Controls:** F35, F37

**Sources:** [View XML definition](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.xml) · [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview)

<a id="r26"></a>

### R26 — Single-line mode can be forced

Evidence: Documented

AutomaticColumnSizing=False or AllowInCellEditing=True forces MultiLine to olAlwaysSingleLine. ShowNewItemRow requires in-cell editing.

**Why:** Changing an editing or sizing option can change layout unexpectedly.

**Check:** Check both settings before trying to restore multiline display.



**Controls:** F18, F19, F29

**Sources:** [Automatic column sizing](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticcolumnsizing) · [Editing in cells](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.allowincellediting) · [Multiline layout](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multiline) · [New item row](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.shownewitemrow)

<a id="r27"></a>

### R27 — Collection order is not always column order

Evidence: Documented

ViewFields collection order can differ from the visible column order; Microsoft documents inspecting View.XML for display order.

**Why:** A diagnostic macro must not report the enumeration as an exact left-to-right layout.

**Check:** Use the UI to verify order; read XML only if an exact automated inventory is required.



**Controls:** F09, F35

**Sources:** [Displayed columns](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfields)

<a id="r28"></a>

### R28 — Rule names are not unique identifiers

Evidence: Documented

AutoFormatRules allows duplicate names and at most 25 custom rules; built-ins do not count toward that limit.

**Why:** Repeatedly adding the same rule can create confusing duplicates.

**Check:** Count and inspect existing matching names before creating another rule.



**Controls:** F23, F27

**Sources:** [Custom rule limit and duplicate names](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.add)

<a id="r29"></a>

### R29 — Language can restrict view availability

Evidence: Documented

A nonempty valid TableView.Language tag restricts View-menu availability to that language; empty means all language types.

**Why:** A saved view may seem absent in a different UI language.

**Check:** Inspect Language along with SaveOption.



**Controls:** F03, F40

**Sources:** [View language](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.language)

<a id="r30"></a>

### R30 — GetTable is not the rendered screen

Evidence: Documented

TableView.GetTable requires an active visible Explorer context; it observes the view filter but returns default table columns.

**Why:** It can audit data membership, not prove the color or order of all rendered UI elements.

**Check:** Validate the active folder and select needed table columns explicitly.



**Controls:** F41

**Sources:** [Read the current view as a table](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gettable)

## 03 — Hierarchy and control map

This is a dependency map, not a universal precedence hierarchy or a claim about Outlook’s internal render pipeline. Active view settings govern separate visibility, arrangement, formatting and layout controls. Item data feeds conditions. Visible message rows and conversation summaries are different targets.

### 1 · Message source

First establish which messages you are looking at. Item fields feed filters and formatting; changing these fields changes data.

Controls: F01, F30, F31, F32, F33. Rules: R01, R18, R21, R02, R22, R14, R19, R20, R23.

Contributes to: membership, format.

### 2 · Active view

The active window selects a view. That view owns several independent settings below; it is not a universal precedence rule.

Controls: F02, F03, F04, F05, F06, F34, F35, F36, F38, F40. Rules: R03, R04, R05, R06, R29, R07, R24, R25, R27.

Contributes to: membership, arrangement, format, layout.

### 3 · What is visible

Check visibility before color. If a message is excluded, changing its font will not make it appear.

Controls: F07, F08, F41. Rules: R02, R08, R30.

Contributes to: arrangement.

### 4 · How it is organized

Sorting, grouping and native conversation mode are separate controls. Related messages may be displayed from other folders.

Controls: F10, F11, F12, F13, F14, F15, F16, F17. Rules: R10, R11, R12, R13, R14.

Contributes to: output.

### 5 · How rows are styled

Rules evaluate item fields in documented collection order. Built-in rules are fixed in position. Isolate overlapping rules before predicting a final font.

Controls: F20, F21, F23, F24, F25, F26, F27. Rules: R15, R16, R17, R18, R19, R28, R08, R06.

Contributes to: output.

### 6 · How space is used

Available width and multiline settings can change what fits on screen. Reading Pane behavior can also change read state.

Controls: F09, F18, F19, F22, F28, F29, F39. Rules: R09, R15, R20, R27, R26, R21.

Contributes to: output.

### 7 · What you actually see

Compare the exact surface you intended to change. A conversation header summarizes multiple messages and is not an ordinary message row.

Controls: F37, F32. Rules: R14, R15, R17, R25, R19, R20, R21.

Contributes to: verify.

### 8 · Verify & preserve

Check a known match and nonmatch, read and unread states, expanded and collapsed conversations, and persistence after restart.

Controls: F04, F05, F36. Rules: R04, R06, R25, R05, R24.

Contributes to: final verification.

## Worked examples

### C01 — Direct matches should stay bright blue and bold

Workflow recipe; validate on your Outlook build

In a copy-based People Results workflow, distinguish direct person matches in both read states.

1. Use a copied test view in the actual results folder. Turn off Show Messages from Other Folders while checking copies.

2. Keep the real PF - Direct Match category. Inspect Billing Information on the same displayed copy; it must also contain PF - Direct Match.

3. Keep the formatting rule manually configured: Condition > Advanced > Field > All Mail fields > Billing Information; Condition: contains; Value: PF - Direct Match; click Add to List.

4. Set the rule’s Font to Bright Blue + Bold. A matching rule name alone does nothing.

5. In the copied test view, temporarily leave only this custom rule enabled, including unchecking Unread messages. Verify a matching and a nonmatching copy, each read and unread.

6. If it now works, re-enable other rules one at a time. If a matching-category copy stays black, check its marker before changing fonts.

7. Save the working view, return to the folder and restart Outlook. Check the same cases again.

Prior troubleshooting suggested marker omissions and rule overlap. No current mailbox inspection or fresh Outlook execution was performed for this reference; the recipe is not a certified fix for every build.

Controls: F16, F23, F24, F26, F30, F31, F32. Rules: R06, R17, R18, R19, R22.

[Billing Information field](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.billinginformation) · [Conditional formatting in classic Outlook](https://support.microsoft.com/en-us/outlook/conditional-formatting-in-classic-outlook-for-windows) · [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule) · [Save formatting rules](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.save)

### C02 — The conversation header should be red if any child is unread

Requested customization not established by reviewed APIs

Separate the desired appearance from what Microsoft actually documents.

1. Enable native Show as Conversations, then compare the collapsed header with its expanded message rows.

2. Use the documented bold subject and unread count as the native unread-conversation indicator.

3. Treat a red unread-message rule as formatting individual messages. Do not assume the entire header inherits it.

4. No dedicated aggregate conversation-header color property was found in the reviewed TableView API. Record this limitation before attempting XML or add-in experiments.

A matching child message and a summary of multiple messages are different targets.

Controls: F14, F32, F37. Rules: R14, R15, R25.

[Conversation view in classic Outlook](https://support.microsoft.com/en-us/outlook/mail/view-email-messages-by-conversation-in-outlook) · [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview) · [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule)

### C03 — The view looks right, then changes back

Diagnostic sequence

Find what is not being saved or what is reapplying settings.

1. Record folder path, active view name, view scope and Outlook version/build.

2. Check LockUserChanges: True permits UI edits but prevents saving those UI changes.

3. If VBA edits formatting rules, inspect AutoFormatRules.Save as well as View.Save and View.Apply.

4. Inspect any macro or view-switch handler that recreates, resets or reapplies a view.

5. Change one control in a copied view. Test folder navigation and restart before resetting anything.

A reversion has multiple possible causes; this guide does not diagnose a corrupt profile from appearance alone.

Controls: F02, F03, F05, F34, F36. Rules: R03, R04, R06, R24.

[Active window and current view](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.currentview) · [Lock view changes](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.lockuserchanges) · [Save formatting rules](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.save) · [View switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.viewswitch)

## Complete TableView VBA member index

| Member | Access | Purpose / dependency | Guide |
| --- | --- | --- | --- |
| [TableView.AllowInCellEditing](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.allowincellediting) | Read/write | Allows cell edits; True forces single-line mode. | F29 |
| [TableView.AlwaysExpandConversation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.alwaysexpandconversation) | Read/write | Controls full versus partial conversation expansion; inspect selected-conversation UI behavior. | F17 |
| [TableView.Application](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.application) | Read-only | Parent Outlook application object. | F02 |
| [TableView.Apply](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.apply) | Method | Displays this view in the current context. | F05 |
| [TableView.AutoFormatRules](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autoformatrules) | Read-only collection | Formatting rules; individual rules and collection support edits. | F23 |
| [TableView.AutomaticColumnSizing](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticcolumnsizing) | Read/write | Automatic widths; False forces single-line mode. | F19 |
| [TableView.AutomaticGrouping](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticgrouping) | Read/write | True uses arrangement grouping; False uses GroupByFields. | F12 |
| [TableView.AutoPreview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autopreview) | Read/write | Selects a message-list preview mode using OlAutoPreview. | F22 |
| [TableView.AutoPreviewFont](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autopreviewfont) | Read-only object | Returns a ViewFont whose properties control preview text. | F22 |
| [TableView.Class](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.class) | Read-only | Object-model class identifier, not a display setting. | F02 |
| [TableView.ColumnFont](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.columnfont) | Read-only object | Returns the font object used for column headings. | F21 |
| [TableView.Copy](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.copy) | Method | Creates another view from this definition, with chosen name and scope. | F04 |
| [TableView.DefaultExpandCollapseSetting](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.defaultexpandcollapsesetting) | Read/write | Initial expansion behavior for groups. | F13 |
| [TableView.Delete](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.delete) | Method | Removes a custom view; built-in views cannot be deleted. | F06 |
| [TableView.Filter](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.filter) | Read/write | DASL expression limiting which items the view includes. | F07 |
| [TableView.GetTable](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gettable) | Method | Reads view items as a Table; requires active Explorer context. | F41 |
| [TableView.GoToDate](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gotodate) | Method | Changes the date used by the current view; not a font control. | F10 |
| [TableView.GridLineStyle](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gridlinestyle) | Read/write | Selects the table grid-line style. | F29 |
| [TableView.GroupByFields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.groupbyfields) | Read-only collection | Grouping keys; modify the contained OrderFields. | F11 |
| [TableView.HideReadingPaneHeaderInfo](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.hidereadingpaneheaderinfo) | Read/write | Hides or shows header information in the Reading Pane. | F28 |
| [TableView.Language](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.language) | Read/write | ISO language tag limiting View-menu availability, or empty for all. | F40 |
| [TableView.LockUserChanges](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.lockuserchanges) | Read/write | True prevents UI edits from being saved; it does not stop all on-screen edits. | F34 |
| [TableView.MaxLinesInMultiLineView](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.maxlinesinmultilineview) | Read/write | Maximum lines in multiline mode; range 2–20, default 2. | F18 |
| [TableView.MultiLine](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multiline) | Read/write | Single-line, multiline or width-triggered mode; has sizing/editing dependencies. | F18 |
| [TableView.MultiLineWidth](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multilinewidth) | Read/write | Character threshold in width-triggered mode; range 1–999, default 100. | F18 |
| [TableView.Name](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.name) | Read/write | View display name; record scope and folder as well. | F02 |
| [TableView.Parent](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.parent) | Read-only | Containing object in the Outlook object model. | F02 |
| [TableView.Reset](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.reset) | Method | Restores built-in view defaults; not supported for custom views. | F06 |
| [TableView.RowFont](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.rowfont) | Read-only object | Returns the default message-row font object. | F20 |
| [TableView.Save](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.save) | Method | Persists the view definition or its changes. | F05 |
| [TableView.SaveOption](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.saveoption) | Read-only | Availability and permissions established when the view was created. | F03 |
| [TableView.Session](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.session) | Read-only | Current Outlook MAPI namespace/session. | F02 |
| [TableView.ShowConversationByDate](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate) | Read/write | Flat newest-first versus classic indented threads; does not enable conversations. | F15 |
| [TableView.ShowConversationSendersAboveSubject](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationsendersabovesubject) | Read/write | Places participating senders above or below the conversation subject. | F17 |
| [TableView.ShowFullConversations](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showfullconversations) | Read/write | Shows related other-folder items when conversation/date requirements hold. | F16 |
| [TableView.ShowItemsInGroups](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showitemsingroups) | Read/write | Whether the table presents items in groups. | F12 |
| [TableView.ShowNewItemRow](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.shownewitemrow) | Read/write | Displays the entry row only if in-cell editing is enabled. | F29 |
| [TableView.ShowReadingPane](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showreadingpane) | Read/write | Whether the Reading Pane is visible. | F28 |
| [TableView.SortFields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.sortfields) | Read-only collection | Sort keys; modify the contained OrderFields. | F10 |
| [TableView.Standard](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.standard) | Read-only | True identifies a built-in view; determines reset/delete restrictions. | F06 |
| [TableView.ViewFields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.viewfields) | Read-only collection | Displayed properties; collection order may differ from screen order. | F09 |
| [TableView.ViewType](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.viewtype) | Read-only | Identifies the view kind; verify olTableView before TableView operations. | F02 |
| [TableView.XML](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.xml) | Read/write | Full view definition; prefer supported typed properties for routine edits. | F35 |

## Glossary

- **Explorer:** An Outlook window containing a folder and message list.

- **View:** A saved recipe for displaying items; it does not contain the email itself.

- **TableView:** The view type used for rows and columns in a mail list.

- **Dependency:** Another setting, field or context that must be right for this control to work.

- **DASL:** The filter language used by the view and conditional-formatting APIs.

- **Property:** A named value such as UnRead or BillingInformation.

- **Collection:** A list of objects, such as formatting rules or column definitions.

- **Read-only object:** You cannot replace the returned object directly; its members may still be editable.

- **Conversation header:** A summary of a thread, distinct from any individual email row.

- **Inbox rule:** Automation that acts on messages; a different system from view formatting.

- **SaveOption:** The scope/permissions chosen when creating a view, not a command that saves it.

## Source index

- [TableView overview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview) — reviewed 2026-09-17

- [Active window and current view](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.currentview) — reviewed 2026-09-17

- [View availability and permissions](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.saveoption) — reviewed 2026-09-17

- [Create a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.views.add) — reviewed 2026-09-17

- [Copy a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.copy) — reviewed 2026-09-17

- [Reset a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.reset) — reviewed 2026-09-17

- [View XML definition](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.xml) — reviewed 2026-09-17

- [Save a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.save) — reviewed 2026-09-17

- [Apply a view](https://learn.microsoft.com/en-us/office/vba/api/outlook.view.apply) — reviewed 2026-09-17

- [View filter](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.filter) — reviewed 2026-09-17

- [Displayed columns](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfields) — reviewed 2026-09-17

- [Grouping fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.groupbyfields) — reviewed 2026-09-17

- [Automatic grouping](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticgrouping) — reviewed 2026-09-17

- [Sort fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.sortfields) — reviewed 2026-09-17

- [Show items in groups](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showitemsingroups) — reviewed 2026-09-17

- [Default group expansion](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.defaultexpandcollapsesetting) — reviewed 2026-09-17

- [Conversation order and indentation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationbydate) — reviewed 2026-09-17

- [Messages from other folders](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showfullconversations) — reviewed 2026-09-17

- [Expand selected conversation](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.alwaysexpandconversation) — reviewed 2026-09-17

- [Senders above subject](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showconversationsendersabovesubject) — reviewed 2026-09-17

- [Default row font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.rowfont) — reviewed 2026-09-17

- [Column heading font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.columnfont) — reviewed 2026-09-17

- [ViewFont properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfont) — reviewed 2026-09-17

- [Formatting rules and restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule) — reviewed 2026-09-17

- [Custom formatting condition](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.filter) — reviewed 2026-09-17

- [Save formatting rules](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.save) — reviewed 2026-09-17

- [Formatting rule collection](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules) — reviewed 2026-09-17

- [Message preview](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autopreview) — reviewed 2026-09-17

- [Message preview font](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.autopreviewfont) — reviewed 2026-09-17

- [Multiline layout](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multiline) — reviewed 2026-09-17

- [Multiline threshold](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.multilinewidth) — reviewed 2026-09-17

- [Maximum multiline rows](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.maxlinesinmultilineview) — reviewed 2026-09-17

- [Automatic column sizing](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.automaticcolumnsizing) — reviewed 2026-09-17

- [Reading pane visibility](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.showreadingpane) — reviewed 2026-09-17

- [Reading pane header](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.hidereadingpaneheaderinfo) — reviewed 2026-09-17

- [Explorer pane visibility](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.showpane) — reviewed 2026-09-17

- [Grid lines](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gridlinestyle) — reviewed 2026-09-17

- [Editing in cells](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.allowincellediting) — reviewed 2026-09-17

- [New item row](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.shownewitemrow) — reviewed 2026-09-17

- [Lock view changes](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.lockuserchanges) — reviewed 2026-09-17

- [Billing Information field](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.billinginformation) — reviewed 2026-09-17

- [Message categories](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.categories) — reviewed 2026-09-17

- [Message read state](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.unread) — reviewed 2026-09-17

- [Folder custom fields](https://learn.microsoft.com/en-us/office/vba/api/outlook.userdefinedproperties) — reviewed 2026-09-17

- [Item custom properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.userproperties) — reviewed 2026-09-17

- [Save a Search Folder](https://learn.microsoft.com/en-us/office/vba/api/outlook.search.save) — reviewed 2026-09-17

- [View switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.viewswitch) — reviewed 2026-09-17

- [Before view switch event](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.beforeviewswitch) — reviewed 2026-09-17

- [Column properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.viewfield) — reviewed 2026-09-17

- [Sort/group field properties](https://learn.microsoft.com/en-us/office/vba/api/outlook.orderfield) — reviewed 2026-09-17

- [Conversation view in classic Outlook](https://support.microsoft.com/en-us/outlook/mail/view-email-messages-by-conversation-in-outlook) — reviewed 2026-09-17

- [Conditional formatting in classic Outlook](https://support.microsoft.com/en-us/outlook/conditional-formatting-in-classic-outlook-for-windows) — reviewed 2026-09-17

- [Message list layout and columns](https://support.microsoft.com/en-us/outlook/mail/change-how-the-message-list-is-displayed-in-outlook) — reviewed 2026-09-17

- [Color categories](https://support.microsoft.com/en-us/outlook/mail/create-and-assign-color-categories-in-outlook) — reviewed 2026-09-17

- [Search Folders](https://support.microsoft.com/en-us/outlook/mail/use-search-folders-to-find-messages-or-other-outlook-items) — reviewed 2026-09-17

- [Custom rule limit and duplicate names](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrules.add) — reviewed 2026-09-17

- [Built-in rule name and filter restrictions](https://learn.microsoft.com/en-us/office/vba/api/outlook.autoformatrule.standard) — reviewed 2026-09-17

- [Column display settings](https://learn.microsoft.com/en-us/office/vba/api/outlook.columnformat) — reviewed 2026-09-17

- [Read the current view as a table](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.gettable) — reviewed 2026-09-17

- [View language](https://learn.microsoft.com/en-us/office/vba/api/outlook.tableview.language) — reviewed 2026-09-17

- [Search the explorer](https://learn.microsoft.com/en-us/office/vba/api/outlook.explorer.search) — reviewed 2026-09-17

- [Reading Pane and mark-as-read options](https://support.microsoft.com/en-us/outlook/use-and-configure-the-reading-pane-to-preview-messages-in-outlook) — reviewed 2026-09-17

## Maintenance

Keep F/R IDs stable. Add a source, dependency, consequence, undo, evidence status and review date with each new control. Do not silently turn a tested workaround into a universal rule. Future modules can cover Calendar/People/Tasks views separately. Record the exact Outlook build for live verification; no build was supplied or tested in this release.

## Change record

1.0 — Initial linked reference: 41 controls, 30 rules, 43 TableView members, 3 worked examples. Corrected common misconceptions about view persistence, built-in formatting rules, multiline dependencies and conversation headers.
