C#Interop.Word 2013在一行内多次替换子字符串格式

C#Interop.Word 2013在一行内多次替换子字符串格式,c#,office-interop,C#,Office Interop,我当前的代码只将第一次出现的单词“color”加粗 我应该在我的代码上做什么更改,使所有出现的“颜色”一词都加粗,这样句子就可以写成 颜色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.Sta

我当前的代码只将第一次出现的单词“color”加粗

我应该在我的代码上做什么更改,使所有出现的“颜色”一词都加粗,这样句子就可以写成

颜色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);
}

试试这个……

你可以使用一个循环,一个这个重载,你的意思是传递从最后一个“color”出现开始的句子的子字符串?我的意思是你的代码标识了搜索字符串的第一个索引
IndexOf(string,Int32)
可以帮助您识别后面的代码。
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);
}