【问题标题】:SelectionChane is called but ActiveExplorer().Selection.Count = 0 in Outlook VSTO AddIn:在 Outlook VSTO 插件中调用了 SelectionChane,但 ActiveExplorer().Selection.Count = 0:
【发布时间】:2020-05-21 07:38:43
【问题描述】:

我尝试获取当前选择的 AppointmentItem。为此,我处理 ActiveExplorer 的 SelectionChange 事件。 SelectionChange 经常被调用,但是当我尝试获取 Selection 时,计数 = 0。这是 Outlook 的已知错误吗?您可以通过以下方式自行检查:

[...]

currentExplorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHandler(Selection_Change);

[...] 然后在这里处理事件:

private void Selection_Change()
{
    log.Info("currently selected: "+this.Application.ActiveExplorer.Selection.Count);
}

运行您的插件打开日历或收件箱。我/你会得到很多"current selected: 0"

但在文档中,它说除了 FileFolders Outlook 会自动选择当前视图中的第一项:https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2010/bb645132(v%3Doffice.14) 因此 Selection.Count 不应该是 0???

对此有任何建议

【问题讨论】:

  • 您从哪里获得 Explorer 类的实例?您使用哪个 Outlook 版本?

标签: vsto outlook-addin


【解决方案1】:

Selection.Count 属性返回一个整数,指示选择中的项目或对话标题的数量。它在我的机器上就像一个魅力。很可能您的代码有问题 - 您打开了多个资源管理器窗口并从非活动窗口中获取选择对象等。

【讨论】:

    【解决方案2】:

    Selection.Count == 0 绝对没有问题。切换到日历视图中的日历文件夹,然后单击没有约会的时间段 - Selection.Count 将为 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 2011-06-12
      • 2010-12-10
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      相关资源
      最近更新 更多