在整个word文档中搜索一个词而不打开它

Search for a word in whole word document without opening it

我想在整个 word 文档中搜索一个词而不打开它。

我在每个网站上搜索并阅读了所有问题,但在使用此代码时出现错误(使用 Range Object

object findText = "find me";

Word.Range rng = this.Paragraphs[2].Range; 

rng.Find.ClearFormatting();

if (rng.Find.Execute(ref findText,
    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)) 
{ 
    MessageBox.Show("Text found.");
} 
else 
{ 
    MessageBox.Show("Text not found.");
} 

rng.Select(); 

但是我在

中有一个错误
Paragraphs[2]

打开大文件时。错误是:

ref missing

您应该使用

计算整个文档中的段落数
int docc = wordfile.Paragraphs.Count;

所以当你打开大文件时,它会计算文件中的所有段落。 然后在范围 code

中使用 (( docc ))
Range rng = wordfile.Paragraphs[docc].Range;

第二个错误你可以使用 (( Type.Missing )) 而不是 (( ref missing ))

所以代码将是

object findText = "find me";
int docc = wordfile.Paragraphs.Count;
Range rng = wordfile.Paragraphs[docc].Range;
rng.Find.ClearFormatting();

if (rng.Find.Execute(ref findText,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
Type.Missing, Type.Missing)) 
 { 
  MessageBox.Show("Text found.");
 } 
else 
{ 
 MessageBox.Show("Text not found.");
} 

rng.Select();