Visio 对象模型概述
更新:2007 年 11 月
若要开发针对 Microsoft Office Visio 的 Visual Studio Tools for Office 解决方案,可以与 Visio 对象模型进行交互。此对象模型包含的类和接口在 Visio 的主互操作程序集中提供,并在 Microsoft.Office.Interop.Visio 命名空间中定义。
本主题简要概述了 Visio 对象模型。有关使用 Visio 对象模型在 Visual Studio Tools for 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.Documents 和 Microsoft.Office.Interop.Visio.Pages 集合。其中,每个对象和集合都有很多方法和属性,通过访问这些方法和属性可以操作对象或集合,并与其进行交互。
有关更多信息,请参见针对 Microsoft.Office.Interop.Visio.Application、Microsoft.Office.Interop.Visio.Document 和 Microsoft.Office.Interop.Visio.Page 对象以及 Microsoft.Office.Interop.Visio.Documents 和 Microsoft.Office.Interop.Visio.Pages 集合的 VBA 参考文档。
以下各部分简要描述顶级对象以及它们彼此之间如何进行交互。这些对象包括:
Application 对象
Document 对象
Page 对象
Application 对象
Microsoft.Office.Interop.Visio.Application 对象表示 Visio 应用程序,是其他所有对象的父级。它的所有成员通常作为一个整体应用于 Visio。您可以使用 Microsoft.Office.Interop.Visio.Application 和 Microsoft.Office.Interop.Visio.ApplicationSettings 对象的属性和方法来控制 Visio 环境。
在应用程序级外接程序项目中,您可以使用 Application 类的 Application 字段访问 Microsoft.Office.Interop.Visio.Application 对象。有关更多信息,请参见应用程序级外接程序编程。
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 对象的 Microsoft.Office.Interop.Visio.Application.ActiveDocument 属性表示。
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 对象模型中使用的类的信息,请参见以下文档集。联机 MSDN Library 文档提供了有关 Visio 对象模型的信息以及 VBA 代码示例。Visio 2007 Software Development Kit(Visio 2007 软件开发工具包)(SDK) 提供了 Visual Basic 和 C# 代码示例。此外,Visio 2007 SDK 还提供了发布工具和 Visual Studio 模板。
Microsoft Office Visio 2007
Microsoft Office Visio 2003
主互操作程序集中的附加类型
由于存在实现差异,您可以在对于 VBA 不可见的主互操作程序集中查找类型。VBA 提供了一个 Visio 对象模型的视图,该视图只包括您可直接使用的对象和成员。主互操作程序集公开相同的对象模型,但它们也包括可将 COM 对象模型中的对象转换为托管代码的接口、类和成员。不应在代码中直接使用这些附加项。
有关更多信息,请参见Overview of Classes and Interfaces in the Office Primary Interop Assemblies和Office 主互操作程序集。
说明: |
---|
目前没有 Visio 主互操作程序集的参考文档。 |
VBA 参考
VBA 参考中的所有对象和成员都对应于您在 Visual Studio Tools for Office 项目中使用的主互操作程序集中的类和成员。例如,Visio VBA 文档中的 Visio.Application 对象与主互操作程序集中的 Microsoft.Office.Interop.Visio.Application 类相对应。
VBA 参考具有下列优点:
它同时描述了 Visio 2007 和 Visio 2003 的对象模型。
它为大多数成员提供了代码示例。
VBA 参考存在下列不足之处:
- 它只提供了适用于 VBA 的语法和代码示例。若要在 Visual Studio Tools for Office 项目中使用这些代码示例,您必须将 VBA 代码转换为 Visual Basic 或 Visual C#。