Visio オブジェクト モデルの概要
Microsoft Office Visio の Office ソリューションの開発は、Visio オブジェクト モデルを操作して行うことができます。このオブジェクト モデルは、Visio のプライマリ相互運用機能アセンブリで提供されるクラスとインターフェイスで構成されています。これらのクラスとインターフェイスは Microsoft.Office.Interop.Visio 名前空間で定義されています。
ここでは、Visio オブジェクト モデルの概要を簡単に説明します。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 オブジェクト モデルの詳細については、Visio の VBA オブジェクト モデルのリファレンスを参照してください。VBA オブジェクト モデルのリファレンスでは、Visual Basic for Applications (VBA) コードに公開される Visio オブジェクト モデルについて説明しています。詳細については" " を参照してください。Visio 2010 Object Model Reference
VBA オブジェクト モデルのリファレンス内のオブジェクトとメンバーはすべて、Visio プライマリ相互運用機能アセンブリ (PIA) の型とメンバーに対応します。たとえば、VBA オブジェクト モデルのリファレンス内の Document オブジェクトは、Visio PIA の Microsoft.Office.Interop.Visio.Document 型に対応します。VBA オブジェクト モデルのリファレンスでは、ほとんどのプロパティ、メソッド、およびイベントのコード例を紹介しています。ただし、Visual Studio を使用して作成した Visio アドイン プロジェクトでこのリファレンス内の VBA コードを使用するには、それらを Visual Basic または Visual C# に変換する必要があります。
[!メモ]
現在のところ、Visio プライマリ相互運用機能アセンブリに関するリファレンス ドキュメントは提供されていません。
Visio ソリューションの作成に関連する追加のツールとコード例についてはVisio 2010 Software Development Kit" " を参照してください。
プライマリ相互運用機能アセンブリの追加の型
実装の違いにより、VBA には表示されないプライマリ相互運用機能アセンブリの型を参照できます。VBA では、直接使用できるオブジェクトとメンバーだけを含む Visio オブジェクト モデルのビューが提供されます。プライマリ相互運用機能アセンブリは同じオブジェクト モデルを公開しますが、ここには、COM オブジェクト モデル内のオブジェクトをマネージ コードに変換する、その他のインターフェイス、クラス、およびメンバーも含まれています。これらの付加的な項目は、コードで直接使用するためのものではありません。
詳細については、「Overview of Classes and Interfaces in the Office Primary Interop Assemblies (Office プライマリ相互運用機能アセンブリのクラスとインターフェイスの概要)」および「Office プライマリ相互運用機能アセンブリ」を参照してください。