問題タブ [shapesheet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
text - Visio のステンシル/図形のテキスト ボックスが非表示 - 表示が必要
https://download.emc.com/downloads/DL38235_VNX_Visio_Stencil.zipから VNX 5300 ステンシル/シェイプをダウンロードして使用しています (ダウンロードするには、無料のアカウントを作成する必要がありました)。
通常どおり F2 を押してテキストを編集できますが、表示されません。ダウンロードした他の図形/ステンシルでは、図形/ステンシルを右クリックすると、図形テキストを非表示/表示するオプションが表示されますが、この図形には存在しません。シェイプシート データを調べたところ、「テキストを非表示」は既に false に設定されています。開発者向けオプションでは、テキストは保護されていません。
テキストを強制的に表示する方法はありますか? この問題を応急処置して 2 つ目のテキスト ボックスを追加するだけでなく、この問題を解決する方法を学びたいと思っています。
shape - (マスター) シェイプをページに追加するときに、Microsoft Visio 2013 x64 で一部の (マスター) シェイプを別の (マスター) シェイプに追加する
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 コードを含めることはできません。
シェイプシートのアクション セクションにいくつかの新しい行を追加することで、何かできることがわかっています。ただし、新しいメンバ シェイプとセパレータ マスタ シェイプをクラス シェイプに追加するためのアクション行は存在しません。
図 1 - コンテキスト メニューに 2 つの追加オプションがあり、シェイプシートに関連する行がない Separator Shape
図 2 - セパレーター形状を挿入するバーを表示する
図 3 - コンテキスト メニューに 2 つの追加オプションがあり、シェイプシートに関連する行がないメンバー シェイプ
図 4 - 部材形状を挿入するバーを表示する
ページに配置された Class Shape を RMB クリックすると、コンテキスト メニューに 2 つの新しいオプションが表示されます。
- テンプレート パラメータを表示
- ステレオタイプを表示
そして、関連するアクションのセクション行が表示されます。
図 5 - コンテキスト メニューに 2 つのオプションが追加された Class Shape と ShapeSheet の関連する行
追加されたクラスシェイプのメンバーシェイプとセパレータシェイプを RMB クリックすると、「前後に「メンバー/セパレータ」を挿入」と表示されます。ただし、メンバーとセパレータのマスター シェイプを(クラス シェイプではなく)ページに直接追加すると、それらを RMB クリックすると、コンテキスト メニューに追加のオプションが表示されません。
図 6 - コンテキスト メニューに追加オプションがない Separator Shape
図 7 - コンテキスト メニューに追加オプションがないメンバー形状
シェイプシートを確認しましたが、上記のアクションに関連する行が見つかりません。
さて、私の質問は、Microsoft によって作成された UML クラス ステンシルのクラス シェイプのような VBA コードなしで、他のマスター シェイプを受け入れる機能を備えた新しいマスター シェイプを作成するにはどうすればよいかということです。
vba - 別のフィールドの形状の ID を使用して beginX を定義する方法
背景: 初心者ユーザーおよび VBA プログラマー - 優しくしてください。
シナリオ: Visio (2010) 直線コネクタを使用します。現在、1-D Endpoints.BeginX は次のとおりです。
私が持っているもの:Milestone.40のVisio ID(87など)を含むBeginItemと呼ばれる同じ形状のデータフィールド!その上。
知っておくべきこと: 可能であれば、1-D Endpoints.BeginX の式を次のように変更する方法:
不可能な場合、これを行う別の方法はありますか?
ありがとう!
shape - Microsoft Visio 2013 x64 で新しく作成されたカスタム リスト図形が機能しない
目的:
まず、自分が何をしたいのかを述べます。次に、次の(説明)パートで、目標を達成するために何をしたかを説明します。
リボンの [挿入] タブの [ダイアグラム パーツ] セクションのプレーンコンテナーからカスタム リスト マスター シェイプを作成したいと考えています。次に、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番目(最終)の質問:
マスター オブジェクトをリストに変更したときに、オブジェクト マスター シェイプのインスタンスがコンテナーのように動作し、動作するのはなぜですか?
powershell - Visio ステンシルを使用したテキストの配置の設定
私は、powershell で自動化された visio ダイアグラム スクリプトを作成し、そのようなテキストを含む要素を追加しています。
現時点では、レイアウトに関する機能のほとんどは動作しますが、実際にダイアグラムの見栄えを良くする面で深刻な問題を抱えています。
この画像が最もよく説明していると思います。オブジェクトで「テキストを編集」すると、オブジェクトの下または上に何らかの方法で位置合わせされているように見えます。
私が望むのは、オブジェクト自体から、以下のようにテキストを右側に揃えることです。ここで、「ユーザー名の例」が理想的な出力です。
これには、ほとんど経験のないシェイプシートなどが含まれると想定しています。
これらのステンシルを変更するためのヘルプやリソースがあれば、「テキスト」領域を希望する場所にしていただければ幸いです。
formula - Visio ShapeSheet は、マスターの接続ポイントを使用して図形データ テキストを管理します
Visio の動的コネクタに図形データを表示しようとしています。これは、クラス図でクラス間の接続記述を表示するためのものです。
私が直面している問題は、visio が 2D 接続形状を処理するときにデータ グラフィック要素 (図では緑色で表示) を適切な場所に自動的に配置しないことです (配置オプションはすべて形状の中心に対して相対的です)。長いコネクタではうまく機能しません。
私の意図は、コネクタの終点にある 2 つの接続ポイント (CxnLeft および CxnRight として表示) を使用して、データ グラフィック形状 (テキスト コールアウト - 以下の ID 22) を相対的な位置に配置することです。
x 座標と y 座標を定義できるように、形状データ グラフィック (緑色の形状) にカスタム パラメーター (User.LabelPosition3) を作成しようとしましたが、接続形状の Row_1.X プロパティにアクセスする方法が見つかりませんでした。 -- ご覧のとおり、式は機能していません)
この値にアクセスするには、なんらかの支援が必要です。または、この機能を提供するのに適した手法
visio - Visio シェイプシートの矢印の頭が設定と一致しません
これは Visio 内のバグであると確信していますが、再現する方法や回避する方法がわかりません。
シェイプシートの「BeginArrow」セルと「EndArrow」セルを見て、Visio の矢印の方向を読み取るツールがあり、うまく機能しました。しかし、あるユーザーがソフトウェアが方向を正しく検出することに問題を抱えていたため、すぐにその理由に気付きました。
問題: 始点または終点に矢印が付いている矢印がありますが、シェイプシートの値はそれぞれ 0 です。0 を含むシェイプシート セルを編集して 0 に置き換えると、矢印が消えて、矢印とシェイプ シートが再び同期されます。同様に、矢印の頭を変更してから元に戻すと、形状シートで矢印の頭が 0 と表示されなくなります。
以前にこの問題に遭遇し、原因を突き止めた人はいますか?
私が試したこと: 他のドキュメントから矢印をコピーして貼り付けたり、Visio の別のインスタンスのドキュメントからコピーして貼り付けたり、Visio の他のドキュメント/インスタンスから矢印をドラッグしたり、ユーザーが矢印を作成するために何をしたかを尋ねたりしました。私が試みたことのないものではなかったので、途方に暮れています。
layer - Visio シェイプシートは、名前からレイヤー インデックスを取得します
Visio 2010 ステンシルに定義された図形がいくつかあり、特定の図形データ フィールドの値に応じてレイヤーを設定したいと考えています。私の職場では VisualBasic の使用が非常に限られているため、可能であればシェイプシート内でこれを行いたいと考えています。
特定の値を見つけるために必要なルックアップを実行できますが、これをページ レイヤー リスト内の正しいインデックスに変換する必要があります。
基本的に、特定のレイヤーの現在のインデックスを取得する必要があります。たとえば、レイヤーの名前が「Remove」であることはわかっており、それに応じて LayerMember を設定できるように、ThePage!Layers にインデックスが必要です。インデックスはページごとに変わるため、ページに図形がドロップされた後、ページのコンテキストでこのルックアップを行う必要があります。
レイヤーの名前を検索インデックスとして使用して、ThePage!Layers のエントリのインデックスを検索するにはどうすればよいですか。ThePage!Layers.Index["Remove"] のような構文は機能せず、マイクロソフトのドキュメントで他の情報を見つけることができませんでした。