1

UML Class Stencilの Class Master Shape のように、 Microsoft Visio 2013 x64で新しい Master Shape を作成したいと考えています。

クラス マスター シェイプをページに追加すると、2 つのメンバー マスター シェイプと 1 つのセパレータ マスター シェイプが自動的に追加されます。さらに、メンバーとセパレータのマスター シェイプをさらに追加できます。

書かれたVBAコードによって、他のマスターシェイプ自体を追加すると考えていました。しかし、以下のフルパスにあるUML Class (Metric) Stencilのファイルを確認したところ、VBA コードをまったく使用していないことがわかりました。

D:\Program Files\Microsoft Office\Office15\Visio Content\1033\USTRME_M.VSSX

ファイル拡張子は、「Visio マクロ有効ステンシル (.vssm)」ではなく「Visio Stencil (.vssx)」です。そのため、VBA コードを含めることはできません。

シェイプシートのアクション セクションにいくつかの新しい行を追加することで、何かできることがわかっています。ただし、新しいメンバ シェイプとセパレータ マスタ シェイプをクラス シェイプに追加するためのアクション行は存在しません。

コンテキスト メニューに 2 つの追加オプションがあり、シェイプシートに関連する行がない Separator Shape

図 1 - コンテキスト メニューに 2 つの追加オプションがあり、シェイプシートに関連する行がない Separator Shape

セパレータ形状を挿入するバーを表示する

図 2 - セパレーター形状を挿入するバーを表示する

コンテキスト メニューに 2 つの追加オプションがあり、シェイプシートに関連する行がないメンバー シェイプ

図 3 - コンテキスト メニューに 2 つの追加オプションがあり、シェイプシートに関連する行がないメンバー シェイプ

部材形状を挿入するバーを表示する

図 4 - 部材形状を挿入するバーを表示する

ページに配置された Class Shape を RMB クリックすると、コンテキスト メニューに 2 つの新しいオプションが表示されます。

  • テンプレート パラメータを表示
  • ステレオタイプを表示

そして、関連するアクションのセクション行が表示されます。

コンテキスト メニューの 2 つの追加オプションと ShapeSheet の関連する行を持つクラス Shape

図 5 - コンテキスト メニューに 2 つのオプションが追加された Class Shape と ShapeSheet の関連する行

追加されたクラスシェイプのメンバーシェイプとセパレータシェイプを RMB クリックすると、「前後に「メンバー/セパレータ」を挿入」と表示されます。ただし、メンバーとセパレータのマスター シェイプを(クラス シェイプではなく)ページに直接追加すると、それらを RMB クリックすると、コンテキスト メニューに追加のオプションが表示されません。

コンテキスト メニューに追加オプションがないセパレータ形状

図 6 - コンテキスト メニューに追加オプションがない Separator Shape

コンテキスト メニューに追加オプションがない部材形状

図 7 - コンテキスト メニューに追加オプションがないメンバー形状

シェイプシートを確認しましたが、上記のアクションに関連する行が見つかりません。

さて、私の質問は、Microsoft によって作成された UML クラス ステンシルのクラス シェイプのような VBA コードなしで、他のマスター シェイプを受け入れる機能を備えた新しいマスター シェイプを作成するにはどうすればよいかということです。

4

1 に答える 1

2

この機能は、Visio では "リスト" (構造化された図) と呼ばれます (Visio 2010 で導入されました)。この種の機能を許可するには (「クラス」図形と同様に、一部の図形が他の図形を「受け入れる」ことができるようにする)、ユーザー プロパティ User.msvStructureType="List" を設定して、図形を「リスト」として宣言する必要があります。形状シート。受け入れるアイテムのタイプを宣言するには、セル User.msvSDListItemMaster = USE("Your item's master name") も設定する必要があります。つまり、単純な長方形 (たとえば) を描画し、これら 2 つのユーザー プロパティを追加することでそれを "リスト" に変換できます。リスト/コンテナー (余白、動作など) で使用できるオプションは他にもあります。

この機能について詳しく説明している MSDN の記事: http://blogs.msdn.com/b/visio/archive/2010/01/12/custom-containers-lists-and-callouts-in-visio-2010.aspx

ここに画像の説明を入力

于 2015-01-19T19:28:37.393 に答える