vb.net为什么我引用了word的类,word.Application还是有问题

cucocd 2011-08-20 04:37:51


Imports Microsoft.Office.Interop.Word

Public Class Form1
Dim WithEvents app As Word.Application 这里还是显示“未定义类型Word.Application”
End Class
...全文
396 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
btxdlibin 2011-08-22
  • 打赏
  • 举报
回复
分析:
首先看这句
Dim WithEvents app As Word.Application
Word.Application这个类的完整写法是Microsoft.Office.Interop.Word.Application

对vs庞大的类库不太熟的人来说,如何引用类是第一入门知识.
VS里的两大类库 Microsoft与System 这两个大类下面又分很多子类库,而各子类下面又有子类.....
VS按功能将各类一级一级划分.

回头再看这个类Microsoft.Office.Interop.Word.Application
其中"
Office类是Microsoft的子类之一;
而Interop又是Office子类之一;
Word又是Interop的子类之一;
...

由此看出,在类引用的代码中,要指出类的父类到根类这一连串类名的引用,代码量就非常庞大了
为了节省类引用的代码量,于是就有命名空间的导入了.

导入命名空间----表示公开某个类集合,以便该集合中的类能被直接引用.

要强调下命名空间只导入本类集合的所有类
它不会导入其父类下的子类,也不会导入下下一级子类

再看楼主的引用
Imports Microsoft.Office.Interop.Word
有了这句,就可以直接引用Word下的类了,也就是可以直接用Application了
代码要改成这样:
Dim WithEvents app As Application

为什么不能用Word.Application,因为Interop类没有被导入命名空间.所以其下的子类Word不能被直接引用.
如果要直接引用需加上:
Imports Microsoft.Office.Interop


嘿嘿 貌似写了很多了,你懂的!!!














rollng 2011-08-20
  • 打赏
  • 举报
回复
Dim WithEvents app As Microsoft.Office.Interop.Word.Application;

jincaomao 2011-08-20
  • 打赏
  • 举报
回复
有时是vs的问题

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧