将XML标记添加到MS Word中的斜体文本句子

时间:2011-06-20 12:05:34

标签: xml ms-word replace italics

我遇到了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>&lt;hi&gt;</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>&lt;</w:t>
                    </w:r>

然后用word重新打开doc。作为非技术用户的解决方案,它只涉及一点点。

看起来这应该可以使用RegExps(或者可能是VBScript)我只是不知道如何到达那里。

任何帮助表示赞赏

感谢

1 个答案:

答案 0 :(得分:1)

您应该可以使用FIND对象使用VBA宏执行类似的操作。

set find = WordApp.ActiveDocument.Contents.Range.Find

您指定要查找的文字为*

然后将格式指定为斜体。这将找到所有用斜体格式化的文本。

但是......如果用户用斜体字格式化了一个短语,他们+可能已经格式化了整个短语,或者他们可能已经单独格式化每个单词,所以你可能会“找到”一个短语,但是你可能会找到3个单独的单词,每个单词都用斜体字表示。

要解决这个+问题会非常困难。