如何一致地搜索和替换RTF文本

时间:2016-09-28 20:56:49

标签: outlook vsto rtf

感谢您的光临。

背景

我正在开发一个MS Outlook插件,当按钮点击事件触发时,需要将某些文本注入新会议请求的正文中。

会议请求窗口仅允许纯文本或RTF(无HTML)。我的应用程序需要输入的文本应该能够在再次单击按钮时换出,但不应删除用户在我上方或下方添加的任何文本。

现在,我使用一串带有前导和尾随隐藏斜线的下划线,如下所示:

\v//\v0__________________________________________________________________

{MY CUSTOM TEXT GOES IN BETWEEN}

__________________________________________________________________\v//\v0

问题

使用纯文本,这不是问题,但是当用户编辑正文然后再次单击更新按钮时出现问题,似乎RTF编码的结构以不可预测的方式发生变化因此,我无法搜索我的文本边界。例如,在用户添加自己的文字并点击“更新按钮”后,我的代码现在收到以下内容,我无法使用IndexOf()找到:

//}{\\rtlch _______________________________________________________________

问题

他们是一种更容易,更一致的方法,在RTF中实际上合并用户可以编辑的字段吗?无论用户是在上面还是下面写过,我基本上只需要交换或输出一大块非常简单的文本。

感谢。

1 个答案:

答案 0 :(得分:0)

实际上,Outlook 2016支持约会HTML。但无论如何,Inspector.WordEditor会返回Word的Document对象的实例,因此您可以使用Word对象模型在文本周围添加书签,而不是通过注入文本可见到最终用户。