C#互操作Word 2013在一行内多次替换子字符串格式
本文关键字:替换 格式 字符串 一行 2013 Word 互操作 | 更新日期: 2023-09-27 18:20:11
我当前的代码只将单词"color"的第一个出现加粗。
public void Foo()
{
string text = "color 1, color 2, color 3";
Paragraph parag = doc.Content.Paragraphs.Add(ref missing);
parag.Range.Text = text;
int index = text.IndexOf("color");
object oStart = parag.Range.Start + index;
object oEnd = parag.Range.Start + index + 4;
Range subRange = doc.Range(ref oStart, ref oEnd);
subRange.Bold = 1;
parag.Range.InsertParagraphAfter();
}
我应该把代码上的什么改为粗体"颜色"一词的所有出现,这样句子就可以写成了
颜色1,彩色2,3
您需要使用for循环。。
这是代码:
int i = 0;
int index = text.IndexOf("color", i);
while (index > 0)
{
object oStart = parag.Range.Start + index;
object oEnd = parag.Range.Start + index + 4;
Range subRange = doc.Range(oStart, oEnd);
subRange.Bold = 1;
i = index + 4;
index = text.IndexOf("color", i);
}
试试这个。。。。。。。