我有一個使用VSTO的Outlook 2013中的電子郵件自定義窗格。它列出在一個ListView
附件,並允許對附件進行轉換操作:如何顯示指定附件的Outlook電子郵件附件預覽
用戶可以通常按上的附接來獲得所選附件的預覽窗格。我需要在我的 ListView中選擇匹配的附件時複製該預覽操作。這將允許他們選擇一個附件,查看預覽,然後選擇文檔類型(ID文檔,簡歷等),而不必在我的自定義面板和通常的附件列表之間來回移動。
我已經谷歌搜索各種術語,但這似乎太晦澀難以找到。我希望有一個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;
}
}
}
}
儘管我在自動化Windows消息方面有相當多的經驗,爲了模擬交互,「特定」窗口句柄並不是特定的,類名「AfxWndW」在Outlook中的其他控件中很常見。不管怎麼說,還是要謝謝你。 – 2014-10-22 15:17:28
我敢肯定,你可以從Outlook中的一些已知窗口句柄中瀏覽窗口堆棧,以訪問該特定的子窗口 - 我之前已經完成了向「SuperGrid」發出擊鍵。 – 2014-10-22 19:39:01