0

我当前的代码仅将第一次出现的“颜色”一词加粗。

    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

4

1 回答 1

1

你需要使用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);
}

试试这个.......

于 2013-06-26T19:14:07.797 回答