我正在开发一个Outlook加载项,在其中将类别添加到邮件中。为了添加类别,我首先通过单击VIEW
选项卡,然后单击Add Column
然后单击类别,添加“类别”,然后按OK
来添加类别。现在,我要以编程方式执行此操作。有可能吗?
答案 0 :(得分:0)
是的。如果要对每个资源管理器窗口应用更改,则需要自定义资源管理器或文件夹的当前视图。要获取当前View
视图的Explorer
对象,请使用Explorer.CurrentView
代替{{1返回的当前CurrentView
对象的Folder
属性}}。在继续将其用于任何目的之前,必须保存对Explorer.CurrentFolder
返回的View
对象的引用。
通过CurrentView
对象,您可以创建可自定义的视图,从而可以更好地对所有不同类型的数据进行排序,分组和最终查看。有多种不同的视图类型可提供创建和维护重要数据所需的灵活性。
View
)使您可以查看基于字段的简单表中的数据。olTableView
)允许您以日历格式查看数据。olCalendarView
)使您可以查看一系列卡中的数据。每张卡都会显示该项目所包含的信息,并且可以对其进行排序。olCardView
)允许您以图标的形式查看数据,类似于Windows文件夹或资源管理器。olIconView
)使您可以查看在可自定义的线性时间轴中接收到的数据。使用olTimelineView
对象的XML属性定义和自定义视图。 View
属性使您可以创建和设置自定义XML模式,该模式定义视图的各种功能。
XML定义通过使用与视图本身的各种属性相对应的一系列标记和关键字来描述视图类型。创建视图后,将解析XML定义以呈现新视图的设置。
要确定创建视图时XML的结构,可以使用Outlook用户界面创建视图,然后可以检索该视图的XML
属性。
XML
要以编程方式向视图添加自定义字段,请使用Add对象的ViewFields方法。建议通过设置 Sub DisplayViewDef()
'Displays the XML definition of a View object
Dim objName As Outlook.NameSpace
Dim objViews As Outlook.Views
Dim objView As Outlook.View
Set objName = Application.GetNamespace("MAPI")
Set objViews = objName.GetDefaultFolder(olFolderInbox).Views
'Return a view called Table View if it already exists, else create one
Set objView = objViews.Item("Table View")
If objView Is Nothing Then
Set objView = objViews.Add("Table View", olTableView, olViewSaveOptionAllFoldersOfType)
End If
MsgBox objView.XML
End Sub
对象的XML
属性来动态更改视图的方法。