关于 Visio 类型库

Visio 产品包括一个类型库,用于定义 Visio 向自动化客户端公开的对象、属性、方法、事件和常量。 要使用 Visio 类型库,开发环境必须引用它。 Visio 文档的 Visual Basic for Applications (VBA) 项目会自动引用 Visio 类型库。 在其他开发环境中,您必须采取相应步骤来引用该库。

VBA 项目引用的库的名称显示在 Visual Basic 编辑器的“对象浏览器”中的“工程/库”列表中。

使用类型库的好处

类型库很有用,原因如下:

  • 类型库中的信息充当由 VBA 和其他开发环境提供的对象浏览器的输入。 使用对象浏览器查看自动化服务器提供的对象的说明, (例如安装在系统上的 Visio 应用程序) 。 例如,您可以查看 Visio 属性、方法或事件的语法并将浏览器显示的代码粘贴到程序中。

  • 类型库允许开发环境在编译(设计)时而不是在运行时动态地将您的程序代码绑定到自动化服务器代码。 因此,程序的运行速度通常更快。 例如,您可以使用 Visio.PageVisio.ShapeVisio.Document 等,而不是使用 Object

解决对象名称不明确问题

VBA 项目或 Visual Basic 程序可以引用许多类型库。 有时候,多个库使用相同的名称声明项目。 例如,Visio 和 Excel 都公开了一个名为 Application 的对象。 当多个库都使用相同的名称声明一个项目时,VBA 和 Visual Basic 将名称绑定到优先级最高的库。

解决名称不明确问题的一种方法是将相应的库名称作为对象类型的前缀。 例如:

Dim vsoApplication As Visio.Application 
Dim xlApplication As Excel.Application

尽管这种方法很好,但是如果代码在 Visio 文档的 VBA 项目的上下文中以独占方式运行,您就不必将 Visio 作为 Visio 对象类型名称的前缀。 如果您这样做,Visio 类型库的优先级将高于其他可能会声明发生冲突的名称的库。 当在 Visio 中使用 VBA 时,VBA 不允许您更改 Visio 类型库的优先级,但是在其他开发环境中,则可以更改 Visio 类型库的优先级。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。