在办公文档中查找单词
本文关键字:查找 单词 文档 | 更新日期: 2023-09-27 18:09:48
我正在编写一个程序,该程序将根据文件中的某些文本对文件进行分组。大多数文件可能是。doc或。docx。
我的程序应该能够将单词列表与文件中的单词进行比较。我是c#的新手,我只自己学习编程,整个"读取。doc文件"的事情超出了我的理解,所以任何帮助都会非常感激!
到目前为止,我的代码中与office有关的部分是: 代码if (Path.GetExtension(listBox1.SelectedItem.ToString()) == ".doc" ||
Path.GetExtension(listBox1.SelectedItem.ToString()) == ".docx")
{
Microsoft.Office.Interop.Word.Document doc =
new Microsoft.Office.Interop.Word.Document(listBox1.SelectedItem.ToString());
doc.Activate();
}
编辑:如果问题不够清楚,我很抱歉。我的问题是
如果文档包含文本文件中包含的任何特定单词,我如何查找?我读了很多其他的问题,答案和教程,可能只有我一个人,但我完全不明白。
下面是关于从。docx文件中读取文本的介绍:http://www.codeproject.com/Articles/20529/Using-DocxToText-to-Extract-Text-from-DOCX-Files
您可以将。doc文件转换为。docx文件,并对两者使用相同的过程。
你似乎正在使用微软的互操作类,所以你可以使用Outlook.Interop.Find
MSDN描述和HOW TO
如果文档中包含单词
, execute方法将返回true StringBuilder sb = new StringBuilder();
Word.Range rng = rodape.Range;
Word.Find find = rng.Find;
find.ClearFormatting();
find.Replacement.ClearFormatting();//Only required if you will replace the text
if (find.Execute("textToBeFound", false))
{
//The document contains the word
}
另一个例子,来自microsoft:
private void SelectionFind() {
object findText = "find me";
Application.Selection.Find.ClearFormatting();
if (Application.Selection.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("The text could not be located.");
} }