若要开发适用于 Microsoft Office Visio 的 Office 解决方案,可以与 Visio 对象模型进行交互。 此对象模型由 Visio 的主互作程序集中提供的类和接口组成,并在命名空间中 Microsoft.Office.Interop.Visio 定义。
本主题简要概述了 Visio 对象模型。 有关使用 Visio 对象模型在 Office 项目中执行任务的信息,请参阅以下主题:
了解 Visio 对象模型
Visio 提供了许多可以与之交互的对象。 这些对象组织在紧跟用户界面的层次结构中。 层次结构的顶部是 Microsoft.Office.Interop.Visio.Application 对象。 此对象表示 Visio 的当前实例。 该Microsoft.Office.Interop.Visio.Application对象包含Microsoft.Office.Interop.Visio.Document和Microsoft.Office.Interop.Visio.Page对象以及Microsoft.Office.Interop.Visio.DocumentsMicrosoft.Office.Interop.Visio.Pages集合。 每个对象和集合都有许多方法和属性,你可以访问这些方法和属性来作和与之交互。
有关详细信息,请参阅 Microsoft.Office.Interop.Visio.Application、 Microsoft.Office.Interop.Visio.Document 和 Microsoft.Office.Interop.Visio.Page 对象的 VBA 参考文档,以及 Microsoft.Office.Interop.Visio.Documents 和 Microsoft.Office.Interop.Visio.Pages 集合。
以下各节简要介绍了顶级对象及其相互交互方式。 这些对象包括以下对象:
应用程序对象
Document 对象
Page 对象
应用程序对象
Microsoft.Office.Interop.Visio.Application 对象表示 Visio 应用程序,并且是所有其他对象的父对象。 其成员的功能通常适用于整个 Visio。 可以使用 Microsoft.Office.Interop.Visio.Application 的属性和方法以及 Microsoft.Office.Interop.Visio.ApplicationSettings 对象来控制 Visio 环境。
在 VSTO 外接程序项目中,可以使用Application字段访问ThisAddIn类中的 Microsoft.Office.Interop.Visio.Application 对象。 有关详细信息,请参阅 VSTO 外接程序编程。
Document 对象
Microsoft.Office.Interop.Visio.Document 对象是对 Visio 进行编程的核心。 它表示一个绘图、模板或示例文件。 打开 Visio 文档或创建新文档时,将创建一个新的 Microsoft.Office.Interop.Visio.Document 对象,该对象将添加到 Microsoft.Office.Interop.Visio.Application 对象的 Microsoft.Office.Interop.Visio.Documents 集合。
具有焦点的文档称为活动文档。 它由 Microsoft.Office.Interop.Visio.Application.ActiveDocument Microsoft.Office.Interop.Visio.Application 对象的属性表示。
Page 对象
Microsoft.Office.Interop.Visio.Page 对象表示前景页或背景页的绘图区。 可以使用该 Microsoft.Office.Interop.Visio.Page.Background 属性来确定页面是前台页面还是背景页。
若要创建形状,可以使用包含 Microsoft.Office.Interop.Visio.Page.DrawSpline 和 Microsoft.Office.Interop.Visio.Page.DrawOval 方法的方法。 此外,还可以使用 Microsoft.Office.Interop.Visio.Page.Drop 或 Microsoft.Office.Interop.Visio.Page.DropMany 方法从模板中检索母版,并将形状放置在页面上。
使用 Visio 对象模型文档
有关 Visio 对象模型的完整信息,可以参考 Visio VBA 对象模型引用。 VBA 对象模型参考文档记录了 Visio 对象模型的内容,因为这些模型向 Visual Basic for Applications (VBA) 代码开放。 有关详细信息,请参阅 Visio 对象模型参考。
VBA 对象模型引用中的所有对象和成员都对应于 Visio 主互作程序集(PIA)中的类型和成员。 例如, Document VBA 对象模型引用中的对象对应于 Visio PIA 中的 Microsoft.Office.Interop.Visio.Document 类型。 尽管 VBA 对象模型引用为大多数属性、方法和事件提供了代码示例,但如果要在使用 Visual Studio 创建的 Visio VSTO 外接程序项目中使用这些代码,则必须将此引用中的 VBA 代码转换为 Visual Basic 或 Visual C# 。
注释
目前,Visio 主互操作程序集没有相关文档。
有关创建 Visio 解决方案的相关代码示例和其他工具,请参阅 Visio 2010 软件开发工具包。
主互操作程序集中的其他类型
可以在由于实现差异而在 VBA 中不可见的主互操作集中找到类型。 VBA 提供 Visio 对象模型的视图,该模型仅包含可以直接使用的对象和成员。 主互作程序集公开相同的对象模型,但它们还包括将 COM 对象模型中的对象转换为托管代码的其他接口、类和成员。 这些附加项不应直接在代码中使用。
有关详细信息,请参阅 Office 主互作程序集和 Office 主互作程序集中的类和接口概述。