C#当我引用MS.Office.Interop时,为什么会出现编译器错误Word.Application

时间:2016-05-01 02:03:49

标签: c# .net ms-word office-interop office-automation

我有一个奇怪的编译器错误,我在命名空间中找不到名称“Word”。然而,我有using Microsoft.Office.Interop;并且我还添加using Microsoft.Office.Interop.Word;以确定。

所以我使用这行代码:

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

Word.Application oWord = new Word.Application();

但我仍然遇到编译器错误:

  

无法找到类型或命名空间名称“Word”(您是否遗漏了这些名称)   using指令或程序集引用?)

无论我在msdn上看到的例子如何,都会发生这种情况,或者一字不差(没有双关语☺)。

所以我必须在代码中加入引用:

Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();

有人可以告诉我为什么这个或我做错了什么?提前谢谢。

1 个答案:

答案 0 :(得分:3)

完全限定类型名称为Microsoft.Office.Interop.Word.Application,当您使用using指令(using Microsoft.Office.Interop.Word)时,只允许使用名称Application为完全限定类型设置别名。请注意,Application是各种框架中的通用名称,并且当其他名称空间中存在类型名称时,可能无法使用它。这将导致模糊错误。

您还可以使用别名声明来解决上面提到的多种类型名称。

using WordApplication = Microsoft.Office.Interop.Word.Application;

如果需要为多个Office Interops提供集成,可以通过添加另一个语句来实现。

using ExcelApplication = Microsoft.Office.Interop.Excel.Application;