gpt4 book ai didi

c# - 如何显示指定附件的 Outlook 电子邮件附件预览

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:36 24 4
gpt4 key购买 nike

我在 Outlook 2013 中使用 VSTO 为电子邮件创建了一个自定义 Pane 。它在 ListView 中列出附件并允许对附件执行转换操作:

enter image description here

用户通常可以在附件上按下以获取所选附件的预览 Pane 。当在 my ListView 中选择了匹配的附件时,我需要复制该预览操作。这将允许他们选择一个附件,查看预览,然后选择它的文档类型(身份证件、简历等),而无需在我的自定义面板和通常的附件列表之间来回移动。

我用谷歌搜索了各种术语,但这似乎太晦涩难懂。我希望 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;
}
}
}
}

最佳答案

遗憾的是,Outlook 对象模型(或赎回)中没有任何内容允许您设置选定的附件。

但是,可以使用某些 Win32API 命令将焦点设置在附件选择器区域上来选择它。如果您使用 Spy++,您可以看到它有一个特定的窗口句柄 (0007096E; AfxWndW)。当该窗口被激活时,您可以发出 TAB 击键命令来选择附件。我不确定如何激活特定附件; TAB 似乎是该窗口唯一使用的键盘命令。

关于c# - 如何显示指定附件的 Outlook 电子邮件附件预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26504531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com