0

我遇到了 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重新打开文档。作为非技术用户的解决方案推出只是有点涉及。

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

任何帮助表示赞赏

谢谢

4

1 回答 1

1

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

IE

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

您将要查找的文本指定为 *

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

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

要解决 +that+ 问题将非常困难。

于 2011-06-20T20:19:53.263 回答