我必须在当前视图中添加Categories
列。我在ThissAddIn_Startup方法中有以下代码。
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
outlookNameSpace = this.Application.GetNamespace("MAPI");
inbox = outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderInbox);
items = inbox.Items;
items.Sort("[ReceivedTime]", true);
Outlook.TableView CurView = ((Outlook.TableView)inbox.CurrentView);
var viewField = CurView.ViewFields.Add("Categories");
var columnFormat = viewField.ColumnFormat;
columnFormat.Align = Outlook.OlAlign.olAlignRight;
columnFormat.Width = 10;
CurView.Save();
CurView.Apply();
}
运行此代码后,我无法向视图添加Categories
列。
任何人都可以帮助我。
答案 0 :(得分:0)
怎么样:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
outlookNameSpace = this.Application.GetNamespace("MAPI");
inbox = outlookNameSpace.GetDefaultFolder(
Microsoft.Office.Interop.Outlook.
OlDefaultFolders.olFolderInbox);
items = inbox.Items;
items.Sort("[ReceivedTime]", true);
Outlook.TableView CurView = ((Outlook.TableView)inbox.CurrentView);
var viewField = CurView.ViewFields["Categories"];
var columnFormat = viewField.ColumnFormat;
columnFormat.Align = Outlook.OlAlign.olAlignRight;
columnFormat.Width = 10;
CurView.Save();
CurView.Apply();
}
如果可行,我建议您修改代码以检查是否存在Categories
字段,如果不存在则添加它...或者,您可以删除所有列并仅添加所需的列:
// remove all columns
while (CurView.ViewFields.Count > 1)
{
CurView.ViewFields.Remove(1);
}
// re-add needed columns
CurView.ViewFields.Add("Categories");
CurView.ViewFields.Add("ReceivedTime");
CurView.ViewFields.Add("Subject");
答案 1 :(得分:-1)
您需要检查当前视图中是否已经显示了特定字段。例如,尝试在Outlook中运行以下VBA宏:
Sub DemoViewFieldsAdd()
Dim oTableView As Outlook.TableView
Dim oViewFields As Outlook.ViewFields
Dim oViewField As Outlook.ViewField
Dim oInbox As Outlook.folder
Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox)
If oInbox.CurrentView.ViewType = olTableView Then
Set oTableView = oInbox.CurrentView
Set oViewField = oTableView.ViewFields("Categories")
If oViewField Is Nothing Then
Set oViewField = oTableView.ViewFields.Add("Categories")
End If
End If
End Sub