我遇到了MS Word文本格式化问题,并想知道是否有任何正则表达式极客也使用MS Word(不太可能,我知道......)
我正在尝试使用XML标记包装在Word中以斜体显示的句子,例如
斜体文字
将成为
<i>Text in italics</i>
我可以为个别单词做这件事,例如
<i>Text</i> <i>in</i> <i>italics</i>
但是我很难找到如何找到一组斜体文本的开头和结尾,而不仅仅是单个单词。
我到目前为止唯一的解决方案是将MS Word文档导出为wML并执行以下操作:
<w:r w:rsidRPr="00FE6181">
<w:t><hi></w:t>
</w:r>
<w:r w:rsidR="00D555A7" w:rsidRPr="00D77C71">
<w:rPr>
<w:i/>
</w:rPr>
<w:t xml:space="preserve">Text in italics</w:t>
</w:r>
<w:r w:rsidRPr="00FE6181">
<w:t><</w:t>
</w:r>
然后用word重新打开doc。作为非技术用户的解决方案,它只涉及一点点。
看起来这应该可以使用RegExps(或者可能是VBScript)我只是不知道如何到达那里。
任何帮助表示赞赏
感谢
答案 0 :(得分:1)
您应该可以使用FIND对象使用VBA宏执行类似的操作。
即
set find = WordApp.ActiveDocument.Contents.Range.Find
您指定要查找的文字为*
然后将格式指定为斜体。这将找到所有用斜体格式化的文本。
但是......如果用户用斜体字格式化了一个短语,他们+可能已经格式化了整个短语,或者他们可能已经单独格式化每个单词,所以你可能会“找到”一个短语,但是你可能会找到3个单独的单词,每个单词都用斜体字表示。
要解决这个+问题会非常困难。