1

Visio 2010 ステンシルに定義された図形がいくつかあり、特定の図形データ フィールドの値に応じてレイヤーを設定したいと考えています。私の職場では VisualBasic の使用が非常に限られているため、可能であればシェイプシート内でこれを行いたいと考えています。

特定の値を見つけるために必要なルックアップを実行できますが、これをページ レイヤー リスト内の正しいインデックスに変換する必要があります。

基本的に、特定のレイヤーの現在のインデックスを取得する必要があります。たとえば、レイヤーの名前が「Remove」であることはわかっており、それに応じて LayerMember を設定できるように、ThePage!Layers にインデックスが必要です。インデックスはページごとに変わるため、ページに図形がドロップされた後、ページのコンテキストでこのルックアップを行う必要があります。

レイヤーの名前を検索インデックスとして使用して、ThePage!Layers のエントリのインデックスを検索するにはどうすればよいですか。ThePage!Layers.Index["Remove"] のような構文は機能せず、マイクロソフトのドキュメントで他の情報を見つけることができませんでした。

4

1 に答える 1

0

可能です!私の方法
は、形状の 3 つのセクションに追加します:ユーザー定義セル形状データレイヤー メンバーシップシェイプ データセクションで、レイヤー名セレクターを含む 1 つの行を作成します
3 つの新しいセクションを追加ユーザー定義のセルセクションには 2 つの行が含まれます。 1. User.L_Listは、ページ上のすべてのレイヤーのリストを格納します。このリストを作成するには、MS Excelを使用します 。この写真のように、 列 Aに行番号を入力します 。セル B1に 数式を配置します- Concatenate ("ThePage!Layers.Name";A1) "&Listsep()&ThePage!Layers.Name[";A2;"]")

MS Excel でレイヤー リストを準備する

そして、必要に応じていくつかの行をプルダウンします。列 Bの一番下のセルを選択し、その値をコピーします。この値をMS Visio のセルUser.L_List貼り 付けます
Prop.LayerNameセルの値による

于 2017-08-02T10:35:16.697 に答える