C#:在Word中搜索文本并获取结果的范围

sim*_*mon 12 c# ms-word find

我可以通过以下方式在Word文件中找到文本:

Word.Range range = wordApp.ActiveDocument.Content;
Word.Find find = range.Find;
find.Text = "xxx";
find.ClearFormatting();
find.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
    ref missing, ref missing, ref missing, ref missing, ref missing,
    ref missing, ref missing, ref missing, ref missing, ref missing);
Run Code Online (Sandbox Code Playgroud)

这告诉我是否找到了文本.但我需要找到的文本片段.

Nix*_*Nix 9

你试过这个:

 range.Find.Execute(
      ref missing, ref missing, ref missing, ref missing, ref missing, 
      ref missing, ref missing, ref missing, ref missing, ref missing,
      ref missing, ref missing, ref missing, ref missing, ref missing);


 while (range.Find.Found) 
{ 
   //Get selected index.
   // Do as you please with range...
   //Positions:  range.Start... range.End
   //search again
   range.Find.Execute(
      ref missing, ref missing, ref missing, ref missing, ref missing, 
      ref missing, ref missing, ref missing, ref missing, ref missing,
      ref missing, ref missing, ref missing, ref missing, ref missing);
} 
Run Code Online (Sandbox Code Playgroud)


Kev*_*ker 5

应通过在其上执行 find 来更改范围对象。

因此,您可能会使用range.Startrange.End来获取角色位置。 参考