前のトピック     次のトピック

第 15 章 VISIO での MICROSOFT VBA プログラミング

セクション 3   Visio タイプ ライブラリの使用

Visio® タイプ ライブラリには、Visio が公開するオブジェクト、プロパティ、メソッド、およびイベントのオートメーションでの定義が含まれています。Visio ファイルに含まれる Microsoft Basic for Applications (VBA) プロジェクトは、自動的に Visio タイプ ライブラリを参照します。この Visio タイプ ライブラリをプログラム内の Visio のオブジェクト型の定義に使用することができます。Visio タイプ ライブラリで宣言された Visio のオブジェクト型を使用すると、プログラムの処理速度が向上します。VBA では、Visio のオブジェクト型の解釈が、プログラム実行時ではなくコンパイル時 (設計時) に行われるからです。VBA では、プログラムのコンパイル時に構文とプログラミング エラーが検査され、タイプ ライブラリを参照してオブジェクト型が決定されます。Object 型のような汎用的な変数の解釈は実行時に行われ、このとき VBA は Visio にオブジェクト参照を問い合わせます。このような余分な問い合わせ処理により、プログラムの速度が低下します。

また、タイプ ライブラリには、プロパティおよびメソッドの引数と戻り値に使用できるグローバル記号定数も定義されています。プロパティやメソッドに渡される引数の大部分は数値なので、これらの定数を使用するとコードの読み書きが容易になります。たとえば、Window オブジェクトがどのようなウィンドウを表しているのか調べる場合を考えてみましょう。Window オブジェクトの Type プロパティは、ウィンドウの種類を示す整数を返します。Visio タイプ ライブラリへの参照を設定するか、プロジェクト内に Visconst.bas を含めていれば、整数の代わりに定数でウィンドウの種類を調ることができます。たとえば、1 の代わりに visDrawing を使用できます。

特定のメソッドまたはプロパティで使用される定数の一覧については、Visio 製品付属のオンライン ヘルプ「開発者用リファレンス」([ヘルプ] メニューから [開発者用リファレンス] を選択) を参照してください。

VBA のオブジェクト ブラウザで、Visio タイプ ライブラリの内容を確認できます。


  このガイドの例では、Visio タイプ ライブラリへの参照を設定していることを前提としています。設定を確認するには、[ツール] メニューから [参照設定] を選択し、[Visio 2000 Type Library] が選択されていることを確認してください。     


このセクションの内容...

オブジェクト ブラウザの使用

タイプ ライブラリの参照の設定

Visio オブジェクト型の使用

オブジェクト ブラウザの使用

オブジェクト ブラウザで Visio タイプ ライブラリを確認できます。オブジェクト ブラウザは、開いているプロジェクトが参照するタイプ ライブラリの定数、クラス (オブジェクト)、およびクラス メンバ (プロパティ、メソッド、およびイベント) を表示します。

オブジェクト ブラウザのメンバの一覧には、Visio のプロパティ、メソッド、イベント、および定数が表示されます。ブラウザ下部の [説明] ペインには、メンバの構文がコード テンプレートとして表示されます。これをモジュール内にコピー&ペーストまたはドラッグ&ドロップし、独自の変数および引数で置き換えることができます。コード テンプレートを使用すると入力ミスを減らすことができます。

 



オブジェクト ブラウザ

  1. [プロジェクト/ライブラリ] ボックス
  2. [検索文字列] ボックス
  3. [クラス] ボックス
  4. ['〜' のメンバ] ボックス
  5. [説明] ペイン

オブジェクト ブラウザを使用するには

  1. [表示] メニューから [オブジェクト ブラウザ] を選択します。または、[Microsoft Visual Basic for Applications (VBA)] ツールバーの [オブジェクト ブラウザ] () ボタンを選択します。
  2. Visio オブジェクト、プロパティ、メソッド、イベント、または定数を参照もしくは検索するには、[検索] テキストボックスに名前を入力するか、メンバの一覧からメンバをクリックします。

TOP へ

タイプライブラリへの参照の設定

オートメーションをサポートするアプリケーションは、オートメーションに公開するオブジェクトが定義されたタイプ ライブラリを提供します。Visio ソリューションから別のアプリケーションのオブジェクトにアクセスするには、[ツール] メニューの [参照設定] をポイントし [参照可能なライブラリ ファイル] ボックスからタイプ ライブラリを選びます。 これと同じ手順で、オートメーションをサポートする任意のアプリケーションから Visio への参照を設定することもできます。たとえば、Microsoft Word から Visio アプリケーションへの参照を設定し、Visio オブジェクトを Word で使用することができます。

[参照可能なライブラリ ファイル] ボックスで選択したタイプ ライブラリはすべて、ユーザーのプロジェクトの [プロジェクト/ライブラリ] ボックスに表示されます。さらに [参照設定] ダイアログ ボックスからは、開いている Visio ファイルへの参照を設定したり、閉じている Visio ファイルを参照したりできます。

 



[参照可能なライブラリ ファイル] の一覧


  Visio タイプ ライブラリのクラスおよびメンバだけを表示する場合は、[プロジェクト/ライブラリ] ボックスから [Visio] を選択します。


TOP へ

Visio オブジェクト型の使用

Visio タイプ ライブラリを有効に活用すると、コードを効率よく記述できます。Visio タイプ ライブラリで宣言された Visio オブジェクト型を使用し、変数を Visio.Page などの特定の種類として宣言できます。

Dim pagObj as Visio.Page

Visio.Page などの Visio オブジェクト型を使用すると、プログラムで参照されている Visio タイプ ライブラリのオブジェクト型がコンパイル時に検査されます。このコンパイル時の型の結び付けは、"アーリー バインディング" と呼ばれます。この例では、Visio で Visio タイプライブラリの Visio のオブジェクト型を参照していること、PagepagObj 変数が Page オブジェクトであることをプログラムで宣言しています。Visio オブジェクト使用の詳細については、「第 14 章 オートメーションと Visio オブジェクト モデル」を参照してください。

以下は、よく使われるオブジェクト型の例です。

Dim docsObj As Visio.Documents
Dim docObj As Visio.Document
Dim shpsObj As Visio.Shapes
Dim shpObj As Visio Shape
Dim mastObj As Visio.Master

'A Documents collection
'A Document object
'A Shapes collection
'A Shape object
'A Master object

オブジェクト型またはライブラリ タイプの後にピリオドを入力すると、そのオブジェクト型または変数型に対して使用できるオブジェクト型、プロパティ、およびメソッドの一覧が自動的に表示されます。一覧表示されたオブジェクト型をダブルクリックすると、そのオブジェクト型がコードに挿入されます。


ヒント コード ウィンドウで作業中にメンバの自動表示ウィンドウが表示されない場合は、[ツール] メニューから [オプション] を選択します。次に、[編集] タブを選択し、[自動メンバ表示] チェック ボックスをオンにします。


この例では、Page が適切なオブジェクト型になります。

 



Visio タイプ ライブラリのメンバの自動表示ウィンドウ

Top