使用Microsoft Office API在Word文档中用“Enter”替换“Shift-Enter”换行符

问题描述:

我有许多将被转换为HTML的Word文档。需要将单词文档中的段落转换为<p>元素。使用Microsoft Office API在Word文档中用“Enter”替换“Shift-Enter”换行符

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

为了将它们分开,我一直试图在转换前用“Enter”/回车符替换“Shift-Enter”换行符。但是,我无法找到合适的方法来执行换行替换作业。我已经尝试了SaveAs方法中的WdLineEndingType参数,但对于该问题似乎不起作用。

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); 

然后使用另存为转换的Word文档HTML,它会妥善安置每行<p>元素。

对于那些正在使用MS Word:使用Control-H {查找&替换]。

查找特殊字符:手动换行符(^ L)

替换:段落标记(^ P)

全部替换会做整个文档。

+1

是不是小写'^ l'和'^ p'? –