目的:
まず、自分が何をしたいのかを述べます。次に、次の(説明)パートで、目標を達成するために何をしたかを説明します。
リボンの [挿入] タブの [ダイアグラム パーツ] セクションのプレーンコンテナーからカスタム リスト マスター シェイプを作成したいと考えています。次に、Created Custom List Master Shapeのメンバー シェイプとして使用できる別のマスター シェイプを作成します。
つまり、 UML ステンシルのクラスマスター シェイプにメンバー マスター シェイプとセパレータ マスターシェイプを追加するように、作成したマスター シェイプをカスタム リスト マスター シェイプに追加したいと考えています。
そのため、次の部分で説明する目標を達成する際にいくつかの問題に直面しました。
説明:
次のように、「Visio Stencil (.vssx)」ファイルにいくつかの新しいマスター シェイプを作成しました。
図 1 - マスター シェイプを使用して新しく作成されたマスター シェイプ
- プロパティ マスター シェイプ (緑のボックス): UML クラス ステンシル (青のボックス) のメンバー マスター シェイプから作成されます。
- オブジェクト マスター シェイプ (赤いボックス):リボンの [挿入] タブの [ダイアグラム パーツ] セクションのプレーン コンテナーから作成されます。
プロパティ マスター シェイプは、UML ステンシルのクラス マスター シェイプで使用するメンバー マスター シェイプのように、オブジェクト マスター シェイプのメンバー シェイプとして使用するために作成されます。
図 2 - 初期メンバーを持つクラス マスター シェイプ
メンバー マスター シェイプから作成されるプロパティマスター シェイプは、次のように変更されました。
それにシェイプ データを 1 つ追加しました (図 3)。
図 3 - プロパティ マスター図形の [図形データ] ダイアログ ボックス
これにデータ グラフィック アイテムを 1 つ追加しました (図 4)。
図 4 - プロパティ マスター シェイプの [データ グラフィック] ダイアログ ボックスと [データ グラフィック アイテム] ダイアログ ボックス
シェイプシート ウィンドウのユーザー定義セルのセクションにある"User.MemberName"数式を次のように変更しました(図 5)。
=MID(SUBSTITUTE(TRIM(SHAPETEXT(TheText)),"[",""),1,FIND(" ",SUBSTITUTE(TRIM(SHAPETEXT(TheText)),"[",""))-1)
それ以外の:
=SHAPETEXT(TheText)
図 5 - プロパティ マスター シェイプの [シェイプシート] ウィンドウ
プレーン コンテナから作成されるオブジェクト マスタ シェイプは、次のように変更されました。
図 6 のように、シェイプシート ウィンドウの[ユーザー定義セル] セクションと [イベント] セクションのセルの内容を変更しました。
図 6 - 内容を変更した後のシェイプシート ウィンドウのユーザー定義セルとイベント セクションのセル
それ以外の:
図 7 - 内容を変更する前のシェイプシート ウィンドウのユーザー定義セルとイベント セクションのセル
質問:
最初の質問:
メンバ マスター シェイプのインスタンスをUML ステンシルの Class Master Shape のインスタンス (図 8)?
図 8 - オブジェクト マスター シェイプのインスタンスとプロパティ マスター シェイプの 1 つのインスタンスを、UML ステンシルとその初期メンバーのクラス マスター シェイプのインスタンスと比較する
2 番目の質問:
オブジェクト マスター シェイプのインスタンスは、UML ステンシルのクラス マスター シェイプのインスタンスをページ (図 9)?
図 9 - オブジェクト マスター シェイプのインスタンスと UML ステンシルのクラス マスター シェイプのインスタンスの比較
この目的を達成するために、次の式を追加しました。ただし、うまくいかないと思います:
=IF(LISTMEMBERCOUNT()=0,DOCMD(2270),0)
3番目の質問:
挿入する UML ステンシルのクラス マスター シェイプのインスタンスにバーを表示するのと同じように、プロパティ マスター シェイプのインスタンスを挿入するオブジェクト マスター シェイプのインスタンスにバーが表示されないのはなぜですか。そのメンバー (図 10)?
図 10 - オブジェクト マスター シェイプのインスタンスと UML ステンシルのクラス マスター シェイプのインスタンスを比較して、関連するメンバーを挿入するためのバーを表示する
4番目の質問:
オブジェクト マスター シェイプのインスタンスが、クラス マスター シェイプのインスタンスではなく、プロパティ マスター シェイプのインスタンスのみを除いて、すべてのマスター シェイプのインスタンスを受け入れるのはなぜですか。 UML ステンシルのメンバー マスター シェイプとセパレータ マスター シェイプのインスタンスのみを受け入れる UML ステンシル (図 11)?
図 11 - すべてのマスター シェイプのインスタンスを受け入れるオブジェクト マスター シェイプのインスタンスと、UML ステンシルのメンバーおよびセパレータ マスター シェイプのインスタンスのみを受け入れるクラス マスター シェイプのインスタンスの比較UML ステンシル
シェイプシート ウィンドウのユーザー定義セルのセクションで「User.msvSDListItemMaster」を設定=USE("Property")
しました。しかし、それはうまくいかないと思います。
5番目の質問:
プロパティ マスター シェイプの追加されたインスタンスのメンバーをオブジェクト マスター シェイプのインスタンスに挿入するためのオプションが表示されない/表示されないのはなぜですか? UML ステンシルのクラス マスター形状のインスタンスへの UML ステンシル (図 12)?
図 12 - オブジェクト マスター シェイプのインスタンスとプロパティ マスター シェイプの 1 つのインスタンスを、UML ステンシルとそのメンバーのクラス マスター シェイプのインスタンスと比較して、追加されたメンバーに挿入メンバーのオプションを表示する
6番目(最終)の質問:
マスター オブジェクトをリストに変更したときに、オブジェクト マスター シェイプのインスタンスがコンテナーのように動作し、動作するのはなぜですか?