【问题标题】:How to show the drafting mail in explorer Outlook? C#如何在资源管理器 Outlook 中显示起草邮件? C#
【发布时间】:2021-11-14 15:39:42
【问题描述】:

我正在开发自定义按钮,按钮就像“全部回复”。但是只有原始邮件的发件人会添加到“TO”列,所有其他都将移至“CC”。

我的问题是如何在资源管理器中显示草稿(调用 InlineResponse?)?

我在 ContextMenu 和 Ribbon 中添加了 2 个按钮,如果使用 ContextMenu 按钮,“explorer.CurrentFolder.CurrentView.Reset()”可以重新选择原始邮件以显示草稿,但 Ribbon 按钮不能。

Ribbon可以使用“explorer.CurrentView = explorer.CurrentFolder.CurrentView”刷新,但是很不稳定,outlook的视图设置有时会重置默认......

我也试过“explorer.ClearSelection()”和“explorer.AddToSelection(OriginalMailItem)”但也没有效果......

所有方法都需要延迟2-3秒,并不是每次都有效。

提前致谢。

【问题讨论】:

  • 您要打开内联响应还是仅在资源管理器窗口中选择/打开一个项目?
  • 打开内联响应。我想替换“全部回复”功能。但是无法打开编辑器界面...

标签: outlook outlook-addin


【解决方案1】:

无法使用 OOM 以编程方式打开内联响应。您最好的选择是选择一个原始项目并以编程方式单击 UI 上的按钮。在这种情况下,自动化 UI 可能会有所帮助。

如果您只想在资源管理器窗口中选择项目,您可以使用Explorer.ClearSelection 方法取消活动资源管理器中的任何选择。调用ClearSelection方法后,Explorer.Selection属性返回的Selection对象的Count属性为零。然后,SelectionChange 事件将触发,除非在调用 ClearSelection 之前,当前视图不包含任何项目、当前文件夹为空或 Count 属性已经为零。

然后您可以使用Explorer.AddToSelection 方法将指定的Microsoft Outlook 项目添加到活动资源管理器中的选择中。要被选中,该项目必须在活动资源管理器的当前视图中是可选择的。使用IsItemSelectableInView 方法来确定是否可以在视图中选择项目。该项目不必在视图中可见。

在以下情况下,调用AddToSelection方法时Outlook会返回错误:

  • 指定的项目不在活动浏览器的当前视图中。
  • 正在活动浏览器的当前视图中编辑指定的项目。
  • 当前视图已被过滤,过滤器的应用程序从视图中删除了该项目。
  • 指定的项目尚未保存。
  • 指定的项表示一个 StorageItem。
  • 当前浏览器不存在当前视图。

如果项目没有被选中并且在当前视图中是可选择的,调用AddToSelection 会触发SelectionChange 事件。

调用AddToSelection 不会滚动视图以使所选项目在视图中可见,并且不会展开或折叠视图中的组。

【讨论】:

  • 感谢您的回复,我已经尝试ClearSelection & AddToSelection,在调试模式下我可以看到邮件从选中更改为未选中并重新选中,但邮件查看界面没有任何改变.......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-22
  • 2022-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多