使用Microsoft.Office.Interop.Word计算字数

时间:2013-06-04 12:37:35

标签: c# ms-word interop

如何使用Microsoft.Office.Interop.Word获取Word文档中特定单词的出现次数?

例如,在我的Word文档中,我在不同的地方有两个##<Test Sub Clause1>##标记。我需要在特定文档中记录它的总数。在我的例子中,它将是2.

Microsoft.Office.Interop.Word中是否存在任何预定义的函数来计算?或者最简单的方法是什么?

2 个答案:

答案 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;