【问题标题】:VSTO AddIn for Word Only仅适用于 Word 的 VSTO 插件
【发布时间】:2012-12-07 19:04:08
【问题描述】:

我已经为 Word 2003 编写了一个 VSTO 插件,它工作正常。唯一的问题是插件会显示一个命令栏,当我在 Outlook 中创建新电子邮件时也会出现该命令栏。如何防止命令栏插件在 Outlook 上下文中仅在 Word 中显示?

【问题讨论】:

  • 您的 Outlook 副本是否配置为使用 Word 作为电子邮件的编辑器?

标签: ms-word vsto


【解决方案1】:

您的问题是 Outlook 使用 Word 作为电子邮件的编辑器。

您可以在 Outlook 中的“工具选项邮件格式”中将其关闭,或者您需要进行检测,例如 Document.Kind 属性,如果它是电子邮件,则其值为 wdDocumentEmail (=2)

【讨论】:

    【解决方案2】:

    我还没有尝试过,但是你可以使用 Word 实例的 Parent 属性来确定它的父级是否是 Outlook 并且在这种情况下不显示命令栏吗?

    【讨论】:

      【解决方案3】:

      父属性只是不断地循环回 Microsoft Word,而不是 Outlook。我最终导入了 User32.dll 并获得了 Windows 名称,然后检查它是否包含 Microsoft Word。

      我仍然遇到的唯一问题是,如果用户打开 Outlook,创建一条新消息,然后打开 Word,则 WINWORD.exe 进程仍然具有我假设的默认模板,因此是新的复制词不会显示我的插件。

      【讨论】:

        【解决方案4】:

        Word 中有几个属性可以让您检测它是否作为邮件编辑器运行。

        App.MailEnvelope 应用信封 应用程序.电子邮件

        所有返回电子邮件相关信息。如果没有将 word 用作电子邮件编辑器,我相信其中至少有一个不会返回任何内容,但我不再有权访问该代码,因此如果不尝试就无法确定。

        也就是说,我知道即使是 MS 也不建议使用 Word 作为电子邮件编辑器。在 Office 2007 和 2010 中,我认为这不再是一种选择。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-04-13
          • 2019-06-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多