我正在制作一个搜索模块(使用C#的Windows窗体)。它可以很好地处理.txt文件,但是我还需要在Word文档中进行单词搜索。 我尝试使用Microsoft.Office.Interop.Word; 以下是代码:
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document docOpen = app.Documents.Open(flname);
StreamReader srObj = new StreamReader(flname);
string read = srObj.ReadToEnd();
if (read.Contains(txtWordInput.Text)) // searching for the input word in the file
{
count1++;
lbSearchList.Visible = true;
lbSearchList.Items.Add(flname);
}
srObj.Close();
app.Documents.Close();
但在运行时,程序报错“文档文件已经打开,无法进行访问”,即使该文档未被打开。我尝试使用流读取器简单地处理,它可以读取该文件,但读取的数据是一些随机符号,而不是实际写入的内容。因此,if (read.Contains(txtWordInput.Text)) 语句无法搜索单词。
请给出代码示例,说明如何成功搜索 Word 文档中的单词。