我有一个C# .NET应用程序,需要加载一个Word文档,查找一些占位符文本(例如"<DETAILS>"),并将其替换为从RTF控件中提取的格式化文本。然后,将此最终文档作为电子邮件消息在Outlook中打开,准备发送。
所有这些都可以实现,但是我无法弄清楚如何将RTF控件中的格式应用到Word文档中。 RTF文本包含粗体,圆点和其他格式,并且文本长度超过256个字符,因此Word互操作查找和替换方法无法使用。
我可以使用Find方法,然后将所选文本设置为所需内容(避免了256个字符的限制),但我无论如何都无法弄清楚如何将格式应用到文本中。有一个FormattedText成员似乎可以完成此工作,但无论我分配什么给它(即使将其分配给自身),都会生成错误,因此我只能假设它应该是只读的。
但这是一个无关紧要的问题,因为RTF控件似乎只能提供没有格式的纯文本或包含RTF代码的字符串。似乎没有任何Word函数可以解释RTF代码,因此我目前只能用一些难以理解的RTF序列替换<DETAILS>占位符。
我一直在研究OpenXML API,它可能能够让我将格式化文本作为XML片段插入,但我看不到如何将RTF控件的内容作为要插入的XML片段。
有人知道如何实现吗?
所有这些都可以实现,但是我无法弄清楚如何将RTF控件中的格式应用到Word文档中。 RTF文本包含粗体,圆点和其他格式,并且文本长度超过256个字符,因此Word互操作查找和替换方法无法使用。
我可以使用Find方法,然后将所选文本设置为所需内容(避免了256个字符的限制),但我无论如何都无法弄清楚如何将格式应用到文本中。有一个FormattedText成员似乎可以完成此工作,但无论我分配什么给它(即使将其分配给自身),都会生成错误,因此我只能假设它应该是只读的。
但这是一个无关紧要的问题,因为RTF控件似乎只能提供没有格式的纯文本或包含RTF代码的字符串。似乎没有任何Word函数可以解释RTF代码,因此我目前只能用一些难以理解的RTF序列替换<DETAILS>占位符。
我一直在研究OpenXML API,它可能能够让我将格式化文本作为XML片段插入,但我看不到如何将RTF控件的内容作为要插入的XML片段。
有人知道如何实现吗?