如何为所有文件夹设置 Outlook 视图?
How to set Outlook View for all folders?
我正在尝试将所有文件夹的 Outlook 布局设置为紧凑。
我设法递归地遍历了所有文件夹,但我找不到任何关于我需要更改布局的信息。
我比较了单行布局与紧凑布局的 XML。
在 Office 2019 中,我找到了实现此目的的 XML 节点 (<multiline></multiline>
),但在 Office 365 中,我在比较两个 XML 时得到的唯一区别是 <previewstyle/>
.
当我删除此节点并将其加载(并应用)到当前视图的 XML 时,它不会将布局设置为紧凑。
如何以编程方式完成此操作?
您可以在 Outlook 中进行必要的修改,然后在 Outlook 中查看当前视图的 XML 标记。因此,您可以确定需要进行哪些更改。以下是 MSDN 在处理 Outlook 中的视图时的建议:
表示当前视图的CurrentView property returns a View 对象。要正确重置当前视图,您必须执行 View.Reset
,然后执行 View.Apply
。下面的代码示例说明了调用顺序:
Sub ResetView()
Dim v as Outlook.View
' Save a reference to the current view object
Set v = Application.ActiveExplorer.CurrentView
' Reset and then apply the current view
v.Reset
v.Apply
End Sub
View
对象允许您创建可自定义的视图,使您能够更好地排序、分组并最终查看所有不同类型的数据。有多种不同的视图类型可提供创建和维护重要数据所需的灵活性。
- table 视图类型 (olTableView) 允许您以简单的基于字段的方式查看数据 table。
- 日历视图类型 (olCalendarView) 允许您以日历格式查看数据。
- 卡片视图类型 (olCardView) 允许您查看一系列卡片中的数据。每张卡片显示物品包含的信息,并可以排序。
- 图标视图类型 (olIconView) 允许您以图标形式查看数据,类似于 Windows 文件夹或资源管理器。
- 时间线视图类型 (olTimelineView) 允许您在可自定义的线性时间线中查看接收到的数据。
视图是使用视图对象的 XML 属性 定义和自定义的。 XML
属性 允许您创建和设置自定义的 XML 架构,用于定义视图的各种功能。
XML定义通过使用与视图本身的各种属性对应的一系列标签和关键字来描述视图类型。创建视图时,将解析 XML 定义以呈现新视图的设置。
要确定在创建视图时 XML 的结构,您可以使用 Outlook 用户界面创建视图,然后检索该视图的 XML 属性查看。
要以编程方式将自定义字段添加到视图,请使用 Add method of the ViewFields 对象。这是通过设置 View
对象的 XML
属性 动态更改视图的推荐方法。
好吧,我删除了 <showpreviewheader>0</showpreviewheader>
行并且它完成了工作(在 Office 365 应用程序中测试)!
谢谢大家的宝贵时间。
<previewpane>
<visible>1</visible>
<markasread>0</markasread>
<showpreviewheader>0</showpreviewheader> <<< removed this row
</previewpane>
<previewpane>
<visible>1</visible>
<markasread>0</markasread>
<showpreviewheader>0</showpreviewheader>
</previewpane>
我正在尝试将所有文件夹的 Outlook 布局设置为紧凑。
我设法递归地遍历了所有文件夹,但我找不到任何关于我需要更改布局的信息。
我比较了单行布局与紧凑布局的 XML。
在 Office 2019 中,我找到了实现此目的的 XML 节点 (<multiline></multiline>
),但在 Office 365 中,我在比较两个 XML 时得到的唯一区别是 <previewstyle/>
.
当我删除此节点并将其加载(并应用)到当前视图的 XML 时,它不会将布局设置为紧凑。
如何以编程方式完成此操作?
您可以在 Outlook 中进行必要的修改,然后在 Outlook 中查看当前视图的 XML 标记。因此,您可以确定需要进行哪些更改。以下是 MSDN 在处理 Outlook 中的视图时的建议:
表示当前视图的CurrentView property returns a View 对象。要正确重置当前视图,您必须执行 View.Reset
,然后执行 View.Apply
。下面的代码示例说明了调用顺序:
Sub ResetView()
Dim v as Outlook.View
' Save a reference to the current view object
Set v = Application.ActiveExplorer.CurrentView
' Reset and then apply the current view
v.Reset
v.Apply
End Sub
View
对象允许您创建可自定义的视图,使您能够更好地排序、分组并最终查看所有不同类型的数据。有多种不同的视图类型可提供创建和维护重要数据所需的灵活性。
- table 视图类型 (olTableView) 允许您以简单的基于字段的方式查看数据 table。
- 日历视图类型 (olCalendarView) 允许您以日历格式查看数据。
- 卡片视图类型 (olCardView) 允许您查看一系列卡片中的数据。每张卡片显示物品包含的信息,并可以排序。
- 图标视图类型 (olIconView) 允许您以图标形式查看数据,类似于 Windows 文件夹或资源管理器。
- 时间线视图类型 (olTimelineView) 允许您在可自定义的线性时间线中查看接收到的数据。
视图是使用视图对象的 XML 属性 定义和自定义的。 XML
属性 允许您创建和设置自定义的 XML 架构,用于定义视图的各种功能。
XML定义通过使用与视图本身的各种属性对应的一系列标签和关键字来描述视图类型。创建视图时,将解析 XML 定义以呈现新视图的设置。
要确定在创建视图时 XML 的结构,您可以使用 Outlook 用户界面创建视图,然后检索该视图的 XML 属性查看。
要以编程方式将自定义字段添加到视图,请使用 Add method of the ViewFields 对象。这是通过设置 View
对象的 XML
属性 动态更改视图的推荐方法。
好吧,我删除了 <showpreviewheader>0</showpreviewheader>
行并且它完成了工作(在 Office 365 应用程序中测试)!
谢谢大家的宝贵时间。
<previewpane>
<visible>1</visible>
<markasread>0</markasread>
<showpreviewheader>0</showpreviewheader> <<< removed this row
</previewpane>
<previewpane>
<visible>1</visible>
<markasread>0</markasread>
<showpreviewheader>0</showpreviewheader>
</previewpane>