図形のテキスト フィールドを、それが存在するレイヤーの名前に設定しようとしています (Visio 2010)。式を次のように設定できるはずです。
=ThePage!Layers.Name[レイヤーメンバー]
ただし、LayerMember は文字列であり、形状が複数のレイヤーに存在する可能性があるため、これは機能しません。つまり、3 番目のレイヤーにのみある場合は LayerMember = "3" ですが、3 番目のレイヤーにある場合は "3;2;5" になる可能性があります。異なる層。したがって、LEFT(LayerMember, 1) を使用するとリストの最初の値が取得されますが、それを上記の式のインデックス フィールドに入れても機能しません。インデックス フィールドに静的な値を入力しても問題ありませんが、図形のレイヤーを変更して、図形のテキストをレイヤー名に変更できるようにしたいと考えています。
LEFT(LayerMember,1) を使用すると、文字列が返されます。文字列値を数値に変換して、ページのシェイプシートからレイヤー名の値を取得する方法が見つかりません。
私はVisioを初めて使用していますが、何らかの理由でこれを理解できません。