我有一个奇怪的编译器错误,我在命名空间中找不到名称“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();
有人可以告诉我为什么这个或我做错了什么?提前谢谢。
答案 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;