我想在 MS Word 2007 文档中搜索所有粗体文本,并将每个粗体“text”替换为“ < text>“
喜欢以下伪代码
foreach boldText in WordDocument
{
string replacedText = "< " + boldText + " >";
WordDocument.replace(boldText ,replacedText );
}
WordDocument.save();
答案 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
。您可能需要一些额外的工作来封装连续的粗体字符,但基础如上所述。
如果你只是担心整个单词,那么上面的方法就可以了。
希望这有帮助。