如果你将鼠标指针悬停在这些对象之上,你会看到一个小消息说这个类型没有定义(this type is not defined)。如果你是有经验的 VB 程序员,你可能会感到很吃惊,因为在这个上下文中使用了类型(type)这个词。不要被吓住了:这只是 VB.NET 不是由 VB 程序员编写带来的一个副作用。而且看上去很多有 VB 经验的人都参与了 VB.NET 文档的编制。所以要熟悉很多 C 语言变形,前面提到的就是一个。Type 在这里是 Object的意思。
如果在 COM 库列表中没有发现Microsoft Access 11.0 Object Library 该怎么办呢?这是处于分布式框架可爱世界的程序员遇到的另外一个困难。幸运的是,如果没有这个特定的对象库,你可以很容易地修正它。只要到 MSDN 下载它即可。
为了使你的生活更加术语化,你正在下载的项叫做Office XP 主interop程序集(primary interop assembly)。程序集(assembly)是代码库(code library)的另外一个叫法,你可以叫它们 DLL 或者任何你想叫的名字。我发现代码库总共至少有25种叫法:程序集(assembly)、控件库(control library)、类库(class library)、控件类型库(control type library)、核心类型库(core type library)、开发环境(development environment)、动态链接库(dynamic link library)、可扩展库(extensibility)、宿主对象模型(host object model)、内核(kernel)、辅助库(helper)、对象库(object library)、对象模型(object model)、命名空间(namespace)、项目模型(project model)、代理库(proxylib)、插件(plug-in)、插件类型库(plugin type library)、运行时执行库(runtime execution library)、运行时执行引擎(runtime execution engine)、运行时库(runtime library)、服务(services)、服务库(services library)、类型库(type library)。不可否认,这些术语的内涵有些细微的差别。例如,控件的代码库中通常都会有一个用户界面。不过无论如何,多数这种术语只是说法不同而已。
在下载完Office XP PIA (主interop程序集)之后,你是不是认为然后就可以直接使用它了?对不起,你还需要对它进行更多的处理。它有一个 readme.htm 文件描述了安装和运行它的步骤。而且,在安装完 PIA 之后一定要重启 Windows。此外,有时候不使用这个代码库也可以在 VB.NET 和 Office 2003 之间进行通信。然而,对于这篇文章中的例子,PIA 是必须的。