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.DocumentMicrosoft.Office.Interop.Visio.Page 对象以及 Microsoft.Office.Interop.Visio.DocumentsMicrosoft.Office.Interop.Visio.Pages 集合。其中,每个对象和集合都有很多方法和属性,通过访问这些方法和属性可以操作对象或集合,并与其进行交互。

有关更多信息,请参见针对 Microsoft.Office.Interop.Visio.ApplicationMicrosoft.Office.Interop.Visio.DocumentMicrosoft.Office.Interop.Visio.Page 对象以及 Microsoft.Office.Interop.Visio.DocumentsMicrosoft.Office.Interop.Visio.Pages 集合的 VBA 参考文档。

以下各部分简要描述顶级对象以及它们彼此之间如何进行交互。这些对象包括:

  • Application 对象

  • Document 对象

  • Page 对象

Application 对象

Microsoft.Office.Interop.Visio.Application 对象表示 Visio 应用程序,是其他所有对象的父级。它的所有成员通常作为一个整体应用于 Visio。您可以使用 Microsoft.Office.Interop.Visio.ApplicationMicrosoft.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.DrawSplineMicrosoft.Office.Interop.Visio.Page.DrawOval 方法的方法。此外,还可以从模具中检索母版,并使用 Microsoft.Office.Interop.Visio.Page.DropMicrosoft.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 AssembliesOffice 主互操作程序集

Cc160740.alert_note(zh-cn,VS.90).gif说明:

目前没有 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#。

请参见

概念

Visio 解决方案

使用 Visio 文档

使用 Visio 形状