我使用VSTO为Outlook 2013中的电子邮件设置了自定义窗格。它列出了ListView
中的附件,并允许对附件执行转换操作:
用户通常可以按附件以获取所选附件的预览窗格。当在 my ListView中选择匹配的附件时,我需要复制该预览操作。这将允许他们选择一个附件,查看预览,然后选择它是哪种类型的文档(ID doc,CV等),而不必在我的自定义面板和通常的附件列表之间来回移动。
我用谷歌搜索了各种术语,但这似乎太难以找到了。我希望有一个Outlook 2013 VSTO专家,知道从哪里开始。 Inspector.AttachmentSelection
是一个起点,但这是只读。
我的C#选择更改处理程序如下所示(删除所有错误检查以简化它):
private void listview_SelectedIndexChanged(object( sender, EventArgs e)
{
ListView listView = sender as ListView;
ListViewItem listViewItem = listView.SelectedItems[0];
Attachment attachment = lvi.Tag as Attachment;
Inspector inspector = Globals.ThisAddIn.Application.ActiveInspector();
// How to preview the attachment in the inspector???
}
更新
作为后备,我可以采取另一种方式,通过捕获Inspector.AttachmentSelectionChange
事件如下所示并选择ListView
中的项目,但我希望能够选择附件来自我的ListView
,导致AttachmentSelection
更改:
void inspector_AttachmentSelectionChange()
{
this.attachmentListView.SelectedItems.Clear();
foreach (Attachment selection in this.Inspector.AttachmentSelection)
{
foreach (ListViewItem item in this.attachmentListView.Items)
{
if (item.Tag as Attachment == selection)
{
item.Selected = true;
}
}
}
}
答案 0 :(得分:0)
不幸的是,Outlook对象模型(或Redemption)中没有任何内容允许您设置所选附件。
但是,可以使用某些Win32API命令选择它以将焦点设置在附件选择器区域上。如果你使用Spy ++,你会发现它有一个特定的窗口句柄(0007096E; AfxWndW)。激活该窗口后,您可以发出TAB键击命令以选择附件。我不确定如何激活特定的附件; TAB似乎是该窗口中唯一使用的键盘命令。