使用C#.NET将<b>文本</b>替换为MS Word 2007中的粗体文本

时间:2011-05-04 07:18:50

标签: c# interop ms-word

我想在 MS Word 2007 文档中搜索所有粗体文本,并将每个粗体“text”替换为“ &lt; text&gt;“

喜欢以下伪代码

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

WordDocument.save();

1 个答案:

答案 0 :(得分:3)

你能做的是这样的事情:

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>";
            }
        }
    }
}

这会将每个 TEXT 更改为<b>TEXT</b>。如果要检查每个字符是否为粗体,则需要遍历rngWord.Characters。您可能需要一些额外的工作来封装连续的粗体字符,但基础如上所述。

如果你只是担心整个单词,那么上面的方法就可以了。

希望这有帮助。