2

我正在使用 VSTO(Outlook 2007/2010)将 C++ Outlook Addin 应用程序重写为完整的 .NET 表示。

要重写的功能之一是 html 表单呈现。用户可以在撰写邮件模式下(发送前)选择复选框、提供输入、选择选项等。但是,当我将任何输入标记放入 HTMLBody 属性时,它不会按预期呈现。而是只呈现类似http://postimage.org/image/jk9swfr2t/的内容。我花了很长时间寻找解决方案,但由于基于 Word 的 Outlook HTML 渲染引擎,最终结果总是不可能。

我们的 C++ 插件代码库非常大而且是遗留的——我不是 C++ 开发人员,对 COM 和 C++ Outlook 对应的 API 不太了解,目标是根据现有功能重写,根本没有时间也没有分析遗留代码的资源。

但对我来说最有趣的是 c++ 版本的软件可以渲染所有内容:输入、复选框、选择选项,所有内容!所以我猜这是可能的,并开始寻找解决方法或任何类型的黑客。

我使用 OutlookSpy 工具分析了旧的 c++ 插件,结果发现它没有填充 HTMLBody。我不得不浏览部分遗留代码,发现它设置了 PR_HTML MAPI 属性。不幸的是,我还发现此属性在 vsto 中不可用,因此我无法检查它是否有帮助。

所以我的问题是:

一切都必须以编程方式完成,因此使用 Outlook UI 插入或从 IE 导出到 Outlook 不算在内。此外,我们不能使用商业第三方工具,如 Redemption 或 Add-in Express。

4

1 回答 1

0

你确定你发的图片是对的吗?:-) 请记住,Outlook 使用 Word 呈现 HTML,因此任何输入控件和脚本都不会运行。

于 2012-11-28T18:42:18.343 回答