次の方法で共有


Visio オブジェクト モデルの概要

更新 : 2007 年 11 月

Microsoft Office Visio の Visual Studio Tools for Office ソリューションの開発は、Visio オブジェクト モデルを操作して行うことができます。このオブジェクト モデルは、Visio のプライマリ相互運用機能アセンブリで提供されるクラスとインターフェイスで構成されています。これらのクラスとインターフェイスは Microsoft.Office.Interop.Visio 名前空間で定義されています。

ここでは、Visio オブジェクト モデルの概要を簡単に説明します。Visual Studio Tools for Office プロジェクトでのタスクの実行を目的とした Visio オブジェクト モデルの使用の詳細については、次のトピックを参照してください。

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 の環境を制御できます。

アプリケーション レベルのアドイン プロジェクトで Microsoft.Office.Interop.Visio.Application オブジェクトにアクセスするには、ThisAddIn クラスの 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 ライブラリのドキュメントでは、Visio オブジェクト モデルに関する情報と VBA のコード サンプルが提供されています。Visio 2007 Software Development Kit (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 プライマリ相互運用機能アセンブリ」を参照してください。

Cc160740.alert_note(ja-jp,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 の図形の操作