如何使用Microsoft.Office.Interop.Word
获取Word文档中特定单词的出现次数?
例如,在我的Word文档中,我在不同的地方有两个##<Test Sub Clause1>##
标记。我需要在特定文档中记录它的总数。在我的例子中,它将是2.
Microsoft.Office.Interop.Word
中是否存在任何预定义的函数来计算?或者最简单的方法是什么?
答案 0 :(得分:5)
您可以尝试使用我在dotnetperls找到的代码段进行修改。
using System;
using Microsoft.Office.Interop.Word;
class Program
{
static void Main()
{
var wordToFind = "some_word_to_find";
var wordCounter = 0;
// Open a doc file.
var application = new Application();
var document = application.Documents.Open("C:\\word.doc");
// Loop through all words in the document.
for (var i = 1; i <= document.Words.Count; i++)
if (document.Words[i].Text.TrimEnd() == wordToFind)
wordCounter++;
Console.WriteLine("Matches Found: {0}", wordCounter);
// Close word.
application.Quit();
}
}
您可能还想查看一些documentation on MSDN。
答案 1 :(得分:1)
如果要计算单词##&lt;的出现次数测试子条款1&gt; ##。那你应该试试这个......
Handler
尝试此代码。
//AddLibrary
using Word = Microsoft.Office.Interop.Word;