text替换MS Word 2007中的粗体文本使用c#.net

本文关键字:文本 net Word text 替换 MS 2007 | 更新日期: 2023-09-27 17:55:07

我想在MS Word 2007文档中搜索所有黑体文本,并将每个黑体"text"替换为"<文本> "

类似下面的伪代码

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

用<b>text</b>替换MS Word 2007中的粗体文本使用c#.net

你可以这样做:

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。您可能需要做一些额外的工作来封装连续的粗体字符,但基本原理如上所述。

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