2

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

显然,我必须以管理员身份运行 VS Express 2012,然后才能启动应用程序对象。之后,下一次出错时,是我尝试从文档中打印出文本。错误发生在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 个单词和 3 个空格。所以它不是空的。

4

1 回答 1

10

我自己找到了答案

代替:int i = 0; i <= count; i++

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

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

于 2013-04-17T18:12:21.473 回答