我试图从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个空格。所以它不是空的。
答案 0 :(得分:7)
我自己找到了答案
而不是:int i = 0; i <= count; i++
我应该这样做:int i = 1; i <= count; i++
显然,数组中的成员0为null,程序无法处理。