使用Microsoft Office API将“Shift-Enter”换行符替换为word文档中的“Enter”

时间:2013-02-05 15:18:47

标签: api ms-word ms-office line-breaks

我有很多word文档会转换为HTML。要求word文档中的段落应转换为<p>元素。

使用Microsoft Office API的SaveAs方法进行一些测试以将文档转换为HTML后,我意识到带有手动换行符的段落(按“Shift-Enter”断开)无法放在单独的{{1}中} element,相反,段落分组在同一个<p>元素中。

为了将它们分开,我一直试图在进行转换之前用“Enter”/ Carriage return替换“Shift-Enter”换行符。但是,我找不到合适的方法来完成换行更换工作。我在SaveAs方法中尝试过WdLineEndingType参数,但似乎对此问题没有效果。

3 个答案:

答案 0 :(得分:9)

对于那些寻找MS Word的人:使用Control-H {Find&amp;替换]。

查找特殊字符:手动换行符(^ l,小写L)

替换为:段落标记(^ p)

全部替换将完成整个文档。

修改:更改为小写字符。

答案 1 :(得分:3)

ms-word office API在Range对象中提供了一个find函数,可以搜索和替换字符串。

以下代码是使用回车符找到手动换行符(&#34; ^ l&#34;)(&#34; ^ p&#34;)。

Range r = oDoc.Content;
r.WholeStory();
r.Find.Execute("^l", ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, "^p", WdReplace.wdReplaceAll);

然后使用SaveAs将word文档转换为HTML,它将正确地将每行放在<p>元素中。

答案 2 :(得分:0)

段落标记(段落标记)

^ p(启用“使用通配符”选项时,在“查找内容”框中不起作用)或^ 13