请求的集合成员不存在,MS Word

时间:2013-04-17 09:26:13

标签: c# ms-word

我试图从dotnetpearls.com运行一个示例程序,起初该程序根本不起作用。

显然我必须以管理员身份运行VS Express 2012,才能启动Application对象。之后,下次出错时,就是当我尝试从文档中打印出文本时。错误发生在string text = doc.Words[i].Text;

using System;
using Microsoft.Office.Interop.Word;

namespace WordTestProgram
{
    class Program
    {
        static void Main(string[] args)
        {
          Application app = new Application();
          Document doc = app.Documents.Open("C:\\word.doc");

          int count = doc.Words.Count;
          for (int i = 0; i <= count; i++)
          {
               string text = doc.Words[i].Text;
               Console.WriteLine("Word {0} = {1}",i,text);
          }
          app.Quit();
      }
   }
}

我知道我试图从中提取数据的文件确实有三个单词和3个空格。所以它不是空的。

1 个答案:

答案 0 :(得分:7)

我自己找到了答案

而不是:int i = 0; i <= count; i++

我应该这样做:int i = 1; i <= count; i++

显然,数组中的成员0为null,程序无法处理。