Замените жирный текст в MS Word 2007 на <b>текст </b>, используя C # .NET - PullRequest
2 голосов
/ 04 мая 2011

Я хочу выполнить поиск всех вхождений, выделенных жирным шрифтом в документе MS Word 2007 , и заменить каждый жирный "текст" на "<текст>"

Как и следующий псевдокод

foreach boldText in WordDocument
{
    string replacedText = "< " + boldText + " >";
    WordDocument.replace(boldText ,replacedText );
}

WordDocument.save();

1 Ответ

3 голосов
/ 04 мая 2011

То, что вы можете сделать, выглядит примерно так:

private void ReplaceBoldText(Microsoft.Office.Interop.Word.Document doc)
{
    foreach(Microsoft.Office.Interop.Word.Range rng in doc.StoryRanges)
    {
        foreach (Microsoft.Office.Interop.Word.Range rngWord in rng.Words)
        {
            if (rngWord.Bold != 0)
            {
                rngWord.Bold = 0;
                rngWord.Text = "<b>" + rngWord.Text + "</b>";
            }
        }
    }
}

Это будет меняться каждый ТЕКСТ на <b>TEXT</b>.Если вы хотите проверить каждый символ, чтобы увидеть, выделен ли он жирным шрифтом, вам нужно будет перебрать rngWord.Characters.Вам может потребоваться дополнительная работа для инкапсуляции последовательных жирных символов, но основа такая же, как указано выше.

Если вы беспокоитесь только о целых словах, то вышеприведенное будет работать хорошо.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...