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

Kat*_*ata 4 api ms-word line-breaks ms-office

我有许多word文档将转换为HTML.要求word文档中的段落应转换为<p>元素.

在使用Microsoft Office API的SaveAs方法进行一些测试以将文档转换为HTML之后,我意识到带有手动换行符的段落(按"Shift-Enter"分隔)不能放在一个单独的<p>元素中,而是将段落分组在同一个<p>元素中.

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

Ala*_*ell 9

对于那些在MS Word中查找的人:使用Control-H {查找和替换].

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

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

全部替换将执行整个文档.

编辑:更改为小写字符.

  • 它不是小写的`^ l`和`^ p`? (2认同)

Kat*_*ata 5

ms-word office API 在 Range 对象中提供了查找功能,可以搜索和替换字符串。

以下代码是查找带有回车符(“^p”)的手动换行符(“^l”)。

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);
Run Code Online (Sandbox Code Playgroud)

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