Я хочу найти все жирные текстовые вхождения в документе MS Word 2007 и заменить каждый жирный "текст на <text> "
Подобно следующему псевдокоду
foreach boldText in WordDocument
{
string replacedText = "< " + boldText + " >";
WordDocument.replace(boldText ,replacedText );
}
WordDocument.save();
Что вы можете сделать, это примерно так:
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
. Возможно, вам понадобится дополнительная работа для инкапсуляции последовательных жирных символов, но база такова, как указано выше.
Если вы только беспокоитесь о целых словах, то выше будет работать нормально.
Надеюсь, что это поможет.