Microsoft Office Visio 用の Office ソリューションを開発するには、Visio オブジェクト モデルを操作できます。 このオブジェクト モデルは、Visio のプライマリ相互運用機能アセンブリで提供されるクラスとインターフェイスで構成され、 Microsoft.Office.Interop.Visio 名前空間で定義されています。
このトピックでは、Visio オブジェクト モデルの概要について説明します。 Visio オブジェクト モデルを使用して 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 オブジェクトの VBA リファレンス ドキュメント、および Microsoft.Office.Interop.Visio.Documents および Microsoft.Office.Interop.Visio.Pages コレクションを参照してください。
次のセクションでは、最上位レベルのオブジェクトと、それらが相互に対話する方法について簡単に説明します。 これらのオブジェクトには、次のオブジェクトが含まれます。
アプリケーション オブジェクト
Document オブジェクト
Page オブジェクト
アプリケーション オブジェクト
Microsoft.Office.Interop.Visio.Application オブジェクトは Visio アプリケーションを表し、他のすべてのオブジェクトの親オブジェクトです。 通常、そのメンバーは Visio 全体に適用されます。 Microsoft.Office.Interop.Visio.Application および Microsoft.Office.Interop.Visio.ApplicationSettings オブジェクトのプロパティとメソッドを使用して、Visio 環境を制御できます。
VSTO アドイン プロジェクトでは、Application クラスの ThisAddIn フィールドを使用して、Microsoft.Office.Interop.Visio.Application オブジェクトにアクセスできます。 詳細については、「 VSTO アドインのプログラミング」を参照してください。
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 オブジェクト モデル リファレンス」を参照してください。
VBA オブジェクト モデル参照のすべてのオブジェクトとメンバーは、Visio プライマリ相互運用機能アセンブリ (PIA) の型とメンバーに対応します。 たとえば、VBA オブジェクト モデル参照の Document オブジェクトは、Visio PIA の Microsoft.Office.Interop.Visio.Document 型に対応します。 VBA オブジェクト モデルリファレンスには、ほとんどのプロパティ、メソッド、およびイベントのコード例が用意されていますが、Visual Studio を使用して作成する Visio VSTO アドイン プロジェクトで VBA コードを使用する場合は、このリファレンスの VBA コードを Visual Basic または Visual C# に変換する必要があります。
注
現時点では、Visio プライマリ相互運用機能アセンブリのリファレンス ドキュメントはありません。
Visio ソリューションを作成するための関連するコード サンプルとその他のツールについては、 Visio 2010 ソフトウェア開発キットを参照してください。
プライマリ相互運用アセンブリの追加型
実装の違いにより、VBA に表示されないプライマリ相互運用機能アセンブリ内の型を見つけることができます。 VBA には、直接使用できるオブジェクトとメンバーのみが含まれる Visio オブジェクト モデルのビューが用意されています。 プライマリ相互運用機能アセンブリは同じオブジェクト モデルを公開しますが、COM オブジェクト モデル内のオブジェクトをマネージド コードに変換する他のインターフェイス、クラス、およびメンバーも含まれます。 これらの追加項目は、コード内で直接使用することを意図したものではありません。
詳細については、「 Office プライマリ相互運用機能アセンブリおよび Office プライマリ相互運用機能アセンブリのクラスとインターフェイスの概要 」を参照 してください。