Добавьте разметку XML к текстовому предложению курсивом в MS Word - PullRequest
0 голосов
/ 20 июня 2011

Я сталкиваюсь с проблемой форматирования текста в MS Word и спрашиваю, есть ли какие-нибудь фанаты регулярных выражений, которые также используют MS Word (вряд ли, я знаю ...)

Я пытаюсь обернуть предложение, выделенное курсивом в Word, используя разметку XML, например,

Текст, выделенный курсивом

станет

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

и затем снова откройте документ словом. Это просто немаловажное решение для развертывания в качестве решения для нетехнического пользователя.

Похоже, это возможно с использованием RegExps (или, может быть, VBScript), я просто не знаю, как туда добраться.

Любая помощь приветствуется

спасибо

1 Ответ

1 голос
/ 21 июня 2011

Вы должны быть в состоянии сделать что-то подобное с макросом VBA, используя объект FIND.

е

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

Вы должны указать текст для поиска *

и затем укажите форматирование курсивом. который найдет весь текст, выделенный курсивом.

НО ... Вот в чем дело, если пользователь отформатировал фразу курсивом, он мог + отформатировать всю фразу целиком или они могли бы отформатировать каждое слово отдельно, так что вы могли бы «найти» одну фразу, но может найти 3 отдельных слова, каждый из которых выделен курсивом.

Обойти эту проблему было бы довольно сложно.

...