Visio 2003 开发入门
发布日期: 11/3/2004 | 更新日期: 11/3/2004
Saul Candib
Microsoft Corporation
适用于:
Microsoft Office Visio Standard 2003
Microsoft Office Visio Professional 2003
摘要:开发 Microsoft Office Visio 2003 扩展应用程序或将 Visio 与其他应用程序集成的方法有多种。本文概述了开发 Visio 所需的技术,同时提供了特定信息及示例下载的链接。(本文包含一些指向英文站点的链接。)
本页内容
引言
扩展 Microsoft Office Visio 2003 的方法有多种,可以通过编程方式,也可以将其与其他应用程序集成。在 Microsoft Office Visio 2003 Standard Edition 或 Microsoft Office Visio 2003 Professional Edition 中进行的开发可以采取以下形式:
•
解决方案开发
•
形状开发
•
Visio 图形控件开发
•
另存为 Web 页开发
•
XML 开发
本文概要介绍了上述几种开发形式,还提供了一些文档链接和示例代码链接,通过这些链接,您可以学习如何进行 Visio 开发。
解决方案开发
Visio 解决方案通常将模拟现实世界的 Visio 形状与解决具体图形问题的 Visio 程序相结合。Visio 程序可以帮助您创建图形、分析图形、在图形与外部数据源之间传递信息或识别应用程序中发生的事件。
创建 Visio 解决方案时,可以单独使用下列各项技术,也可以将它们结合起来使用:
•
Microsoft Visual Basic for Applications (VBA) 利用内置的 VBA 宏记录器和集成开发环境 (IDE)(称为 Visual Basic 编辑器),您可以创建一些简单的宏以自动处理重复性任务。您还可以开发简单或复杂的扩展程序,将 Visio 与其他应用程序(例如 Microsoft Office 系统上的 Microsoft Office Word 2003 和 Microsoft Office Excel 2003,以及包含 VBA 的其他数百个应用程序)集成起来。
以 Microsoft Office Visio 2003 Automation Reference 形式提供的 VBA 帮助内置在 Visio Standard 和 Visio Professional 中,它记录并解释了如何使用 Visio 对象模型中的属性、方法、事件和对象。也可以从 Microsoft Office Visio 2003 SDK 中找到 Automation Reference。
•
COM 加载项和 Visio 附件 组件对象模型 (COM) 加载项为 Visio 提供了新的功能(例如,可以通过新菜单项访问的自定义对话框),还增加了一些新功能。Visio 附件是一个用户编写的程序,可以扩展 Visio 的功能。附件可以采用两种文件类型,一种是 Visio 库文件(.vsl 文件,这是一种 Visio 特有的动态链接库),另一种是单独的可执行程序(.exe 文件)。附件还可以采用两种方式实现。
Microsoft Office Visio 2003 SDK 包含两个向导,可以帮助您创建附件和加载项:Microsoft Visual Studio .NET 2003 Visio Add-in Wizard,它使用 Microsoft Visual Studio .NET 2003、Microsoft Visual Basic .NET、Microsoft Visual C# 或 Microsoft Visual C++ 创建 shell 附件或加载项项目;Microsoft Visual Studio 6.0 C++ Visio Add-on or Add-in Wizard,它使用 Microsoft Visual C++ 6.0 创建 shell 附件或加载项项目。
此外,Visio 2003 SDK 还包含一些 Microsoft Visual Basic 6.0 项目模板,用于创建作为附件在 Visio 中运行的可执行程序以及将在 Visio 中运行的 COM 加载项。基于这些模板的项目包含基本 Visio 支持,有助于加快开发过程,同时还显示了在 Visual Basic 中创建 Visio 附件和加载项的一些建议操作。
有关在 Visio 中创建附件和 COM 加载项的详细信息,请参见 Visio 2003 SDK 中的 About Microsoft Office Visio Add-ons and COM Add-ins。
•
托管代码 您可以使用随 Visio 2003 安装的主互操作程序集 (PIA),将基于 COM 的 Visio 对象模型与通过 Visual Basic .NET、C# 以及使用 Microsoft .NET Framework 的其他语言开发的托管代码程序集和应用程序相集成。
通常情况下,在计算机上安装 Visio 时都会安装 Visio 2003 PIA。要确定是否安装了 PIA,可以按照下述方法打开全局程序集缓存:在 Windows“开始”菜单上单击“运行”,在下拉列表框中键入“assembly”并单击“确定”。此操作将打开程序集窗口,从中您可以看到列出的 Microsoft.Office.Interop.Visio 以及您计算机上安装的 Microsoft Office 2003 应用程序的其他 PIA。
如果没有在全局程序集缓存中看到 Visio PIA,请参见 How to:Install Office Primary Interop Assemblies。有关使用 .NET Framework 扩展 Microsoft Office 应用程序的详细信息,请参见 Managed Code and Office Programming with Visual Studio .NET。
Visio 2003 SDK 包含一个 Managed Code Tutorial(托管代码教程)。该教程由四课组成,可以指导您完成 Visio COM 加载项的创建过程。每一课都通过一个用 Visual Basic .NET 编写的 COM 加载项示例应用程序为例进行讲解。COM 加载项会自动根据自定义 Visio 向导收集的最终用户数据生成一个流程图。每一课都在上一课的基础上对示例应用程序做进一步的讲解。
•
将 Visio 与其他应用程序集成 通过将 Visio 与其他 Office 应用程序集成,您可以创建功能完善的解决方案。例如,要了解如何将 Visio 与 Microsoft SharePoint 产品和技术集成,请参见 Integrating Microsoft Office Visio 2003 with Microsoft SharePoint Products and Technologies。
形状开发
Microsoft Office Visio 2003 中的每一个对象(包括每个文档、页面、样式、形状、组、组内的形状和对象、主程序、来自其他程序的对象、辅助线和辅助点)都对应一个 ShapeSheet 电子表格,用于存储该对象的信息。此电子表格包含决定该形状的外观和行为的高度、宽度、角度、颜色以及其他属性信息。
形状开发人员需要精确控制所创建的形状的外观和行为。作为形状开发人员,您可以通过编辑形状的 ShapeSheet(可以通过编程方式访问,也可以在 Visio 用户界面 [UI] 的“ShapeSheet”窗口中访问)来改变其默认行为并增强其功能。
有关形状开发的详细信息,请参见 ShapeSheet Reference,它内置在 Visio 中,也可以从 Visio 2003 SDK 中找到。
SDK 还包括 ShapeStudio,它是供 Visio 形状设计和开发人员使用的开发工具和效率工具。ShapeStudio 在 Visio 中提供了一个自定义工作环境,为项目管理、规范以及智能形状 (SmartShape) 的设计、开发和验证提供了方便。与 ShapeStudio 项目相关的所有数据都单独存储在一个数据库中,而不是存储在 Visio 文档中,从而更容易进行形状维护和版本控制。
有关 ShapeStudio 的详细信息,请参见 Visio 2003 SDK 下载中的 ShapeStudio 文档。
Visio 图形控件开发
Microsoft Office Visio Drawing Control 2003 是一个 Microsoft ActiveX 控件,它提供了 Visio 对象模型 (API) 和用户界面的完全访问能力,因此,您可以将 Visio 图形面和用户界面集成到您的应用程序中、自定义其外观并使您的应用程序自动具有 Visio 的功能。Visio 图形控件随 Microsoft Office Visio Standard 2003 和 Microsoft Office Visio Professional 2003 一起提供,安装 Visio 时将一起安装。
有关 Visio 图形控件的详细信息,请参见 Visio SDK 中的 Automation Reference。详细信息,请参见以下 MSDN 文章:
•
Programming with the Microsoft Office Visio ActiveX Control
•
Host an Interactive Visio Drawing Surface in .NET Custom Clients
对于托管代码开发,Visio 图形控件有自己的 PIA,即 Microsoft.Office.Interop.VisOcx。
另存为 Web 页开发
Visio 的“另存为 Web 页”功能为用户提供了在 Web 上发布 Visio 文档的简便方式。“另存为 Web 页”API 允许您通过编程方式访问此功能,使您可以将 Visio 图形另存为 Web 页,而无须在用户界面为用户显示“另存为 Web 页”对话框。有关详细信息,请参见 Visio SDK 中的 Save as Web Page Reference 中的帮助主题。
对于托管代码开发,Visio 另存为 Web 页 API 有自己的 PIA,即 Microsoft.Office.Interop.Visio.SaveAsWeb。
XML 开发
XML(可扩展标记语言)是 Web 上结构化文档和数据的通用格式。DataDiagrammingXML(以前称为 XML for Visio)文件是一个 XML 文档,它包含 Microsoft Office Visio 二进制文件的所有组件。就像可以使用“Automation”或通过“ShapeSheet”窗口访问 Visio 文档一样,您可以使用 XML 和各种支持工具来访问 DataDiagrammingXML 文件中的数据。
有关在 Visio 中开发 XML 的详细信息,请参见 MSDN 上的 XML Developer Center。您还可以从 Microsoft 站点下载整个 Office XML Reference Schemas 文件及相关文档,包括 DataDiagrammingXML 架构。
Visio 2003 SDK
可以从 Microsoft 站点下载完整的 Visio 2003 SDK。完全下载包括以下内容:
•
工具 自定义工具和扩展工具,它们能够提高开发效率,减少开发时间。这些工具包括 Persistent Events、Print ShapeSheet、Solution Publishing 和 Event Monitor 工具;还包括 ShapeStudio,它是用于开发 Visio 形状的完整用户界面。
SDK 还包含使用 Microsoft Visual C#、Microsoft Visual Basic .NET、Microsoft Visual C++ 和 Microsoft Visual Basic 创建新的 Visio 附件和组件对象模型 (COM) 加载项的向导。
•
示例应用程序 您可以利用示例应用程序进行试验性开发,并通过它们熟悉 Visio 的各种功能。编写这些示例应用程序的初衷是为了说明在 Visio 平台上进行开发的各种情况,还可以作为自定义应用程序开发的起点。这些示例包括 Flowchart、Tree View 和 Office Plan 示例应用程序以及 Managed Code Tutorial。
•
代码库管理程序 这是一个数据库,其中存储了使用 Microsoft Visual C#、Microsoft Visual Basic .NET 和 Microsoft Visual Basic 6.0 开发 Visio 时可重复使用的方法、类和过程。
您可以查看并复制 Microsoft Code Librarian Viewer(随 SDK 提供)中提供的所有代码示例。
•
库文件 用于存储 Visio 提供的 API 以及 C++ 库帮助文件的类型库。
•
文档 完整的 Visio 参考和文章,包括 Automation Reference、ShapeSheet Reference、Save as Web Page Reference 和 XML Reference。
其他资源
Visio 2003 开发的问题超出了本文要讨论的 Visio 范围。Microsoft Office Developer Center 提供了有关 Microsoft Office 系统中所有产品的开发以及与其他产品集成的各种信息。Visio Developer Center 提供了各种技术文章、更新的 SDK 文档、相关资源和 Visio 新闻组的链接。
各种第三方书籍也提供了有关使用 Visio 进行开发的有用信息。
当然,对于使用 Visio 2003 进行解决方案开发的任何开发人员来说,了解 Visio 本身也是非常重要的。Microsoft Office Online 上的 Visio 主页提供了许多资源,其内容涉及到帮助、培训、模板、文章、案例分析、下载以及有关如何使用 Visio 2003 的信息。