1

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

4

4 回答 4

2

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

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

于 2009-04-03T12:06:17.897 回答
1

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

于 2009-02-13T07:26:35.387 回答
0

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

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

于 2009-06-01T13:10:28.693 回答
0

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

App.MailEnvelope App.Envelope App.Email

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

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

于 2010-10-11T19:31:33.493 回答