第 25 章 VISIO オートメーション ソリューションのパッケージ
ユーザーに配布するファイルは、作成するソリューションの種類によって異なります。一般的に、テンプレート内に格納される Microsoft Visual Basic for Applications (VBA) プログラムを作成する場合は、テンプレートとステンシルのみを配布します (VBA プログラムが参照するファイルがあれば、そのファイルも配布します)。外部プログラムを作成する場合は、実行可能 (EXE) ファイル、テンプレート、およびステンシルの配布が必要になる場合があります。アドオンを作成する場合は、EXE ファイルまたは Visio® ライブラリ (VSL) ファイルのみを配布します。また、Visio シェイプを配布する場合は、著作権についても知っておく必要があります。
このセクションの内容...
Microsoft VBA ソリューションの図面ファイルのサイズ
VBA プログラムは、Visio のテンプレート、ステンシル、または図面に格納されます。通常、配布する必要があるファイルは、テンプレート (.vst) または図面 (.vsd) とそのステンシル (.vss) のみです。作成した VBA プロジェクトが他の Visio ファイルを参照する場合は、それらのファイルも配布する必要があります。VBA プログラムに関する分離プログラムはありません。
この図は、VBA ソリューションで使用できる要素を示しています。
VBA ソリューションとその要素 :テンプレート、ステンシル、VBA マクロ
Visio のファイルから新しい図面を作成すると、Visio により VBA プログラムが新しい図面にコピーされ、開いているステンシルおよびその他の Visio ファイルを新しい図面から参照できるようになります。
VBA プログラムを格納する場所によって、図面ファイルの大きさが変わる場合があります。プログラムは、テンプレート、ステンシル、または図面に格納することができます。ファイル サイズに関する注意事項は、次のとおりです。
VBA コードを多く含むテンプレートは配布するには便利ですが、テンプレートのコードがテンプレートから作成したそれぞれの図面にコピーされるため、必要以上にサイズが大きくなります。また、各図面にはコードの独自のコピーが含まれるため、このようなテンプレートでは、ソリューションの保守またはアップグレードがより複雑になる可能性があります。
図面作成のときに使用し、タスクの終了後には使用しないようなコードは、テンプレートに格納するのが最適です。ただし、これに代わる方法として、コードの大部分を Visio ステンシル (.vss) に保存し、テンプレートからそれを呼び出すこともできます。この方法は図面ファイルのサイズを節約し、また新しいバージョンのステンシルを配布するだけでソリューションをアップグレードできるため、ソリューションの保守を容易にします。
注 別の VBA プロジェクトからステンシル内のコードを参照する場合、Visio アプリケーションでは自動的にステンシルを開きますが、そのステンシルは表示されません。ステンシルを参照する VBA プロジェクトを開いた状態で、ステンシルを閉じることはできません。
Visio 2000 では、図形、マスタシェイプ、ページ、行、またはレイヤーに対して、ローカル名の他にユニバーサル名を割り当てることができます。ローカル名は、ユーザー インターフェースに表示されるシェイプ名などの名前です。オートメーション ソリューションがローカライズされる (多言語に翻訳される) と、これらの名前は、ソリューションを実行する地域用の名前に変更されます。
ユニバーサル名は、ソリューションがローカライズされても変更されない名前です。ユニバーサル名は、ユーザー インターフェースに表示されず、オートメーションのクライアントのみが、ユニバーサル名を使用して Visio オブジェクトにアクセスできます。ソース コード内でユニバーサル名を使用すると、常に一定のソース コードを実行することができ、複数のバージョンのソリューションをサポートする必要がなくなります。
ユーザー インターフェースまたはオートメーションから、オブジェクトに初めて名前を付ける場合は、デフォルトでローカル名に対してユニバーサル名が設定されます。この名前が割り当てられた後は、次のルールが適用されます。
オブジェクトのユニバーサル名を参照するためにソース コード内で使用できるプロパティおよびメソッドは、Visio タイプ ライブラリ内にあり、接尾語「U」が付けられます。
ユニバーサル名を参照するプロパティおよびメソッドを確認するには
これらのプロパティおよびメソッドの使用方法の詳細については、お使いの Visio 製品付属のオンラインヘルプの「開発者用リファレンス」 ([ヘルプ] メニューから [開発者用リファレンス] を選択) を参照してください。たとえば、GetFormulasU メソッドに関する詳細を参照するには、GetFormulas メソッドを検索します。
Visio 製品に付属するステンシル、マスタシェイプ、テンプレート、およびソース コードは、米国ビジオ社が所有する著作物であり、アメリカ合衆国著作権法と国際条例によって保護されています。
配布先のユーザーがマスタシェイプを含む認可された Visio 製品を所有している場合を除き、マスタシェイプを含む図面の表示または修正以外の目的で、Visio 製品によって提供されている著作物のいかなる複製を配布することも禁止します。これは、著作権によって保護されたマスタシェイプをもとにして作成したシェイプの場合も同様です。
たとえば、Visio 2000 Technical Edition ステンシルからのシェイプを、Visio 2000 Professional Edition を所有するユーザー (マスタシェイプを含む、認可された Visio Technical Edition のステンシルを所有していないユーザー) に提供することは禁じられています。
Visio の製品 CD の \DVS フォルダに提供されている Microsoft Visual Basic ファイルおよび C++ ファイルの定数とグローバル関数も著作権によって保護されています。これらのファイルをプロジェクトに含め、実行可能プログラムを作成するために使用することはできますが、他の開発者にこれらのファイルを配布する場合は、配布を受ける開発者もそれらのファイルを含む、認可された Visio 製品を所有している必要があります。
マスタシェイプまたはマスタシェイプのインスタンスの [オブジェクト情報] ダイアログ ボックスに著作権情報を入力して、作成した図形に著作権を設定することができます。[オブジェクト情報] ダイアログ ボックスを開くには、図形を選択して [書式] メニューから [オブジェクト情報] を選択します。直後に [元に戻す] を選択しない限り、この設定は図形に対して 1 度しか実行できません。したがって、図形の著作権情報を変更することはできません。
注 マスタシェイプおよび Visio 製品のライセンスの詳細については、Visio 製品付属の『ビジオ・コーポレーション使用許諾契約書』を参照してください。