То, что вы можете сделать, выглядит примерно так:
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
.Вам может потребоваться дополнительная работа для инкапсуляции последовательных жирных символов, но основа такая же, как указано выше.
Если вы беспокоитесь только о целых словах, то вышеприведенное будет работать хорошо.
Надеюсь, это поможет.