我在这台机器上没有Visio,因此我无法复制和粘贴正常工作的解决方案。这种方法有点复杂,但非常灵活。
将您的列表保存在 User 部分,而不是 Prop - 然后,这将成为在属性中使用的基础数据。如果您使用的是主模板,那么这也有助于管理字段。
User
Prop
您现在可以在数据中存储索引 - 此索引指向数组中的相应值。您可以使用操作和侧面菜单来设置索引,当正确引用时,这意味着您可以在侧边菜单中使用全名和/或缩写,并且ShapeSheet可以完成下面的所有工作。
您要查看的功能是:
Index
INDEX(1,User.Type)
Lookup
LOOKUP("D", User.Abbrev)
GetAtRef
SetAtRef
SetAtRefExpr
SetF
我有一个类似的业务问题,依赖于根据形状数据的值设置背景颜色。您的最终解决方案最终可能会包含以下公式: =SETF(GetRef(Prop.Type),"GUARD(INDEX(LOOKUP(Prop.X,Prop.X.Format),User.Type))") 。
=SETF(GetRef(Prop.Type),"GUARD(INDEX(LOOKUP(Prop.X,Prop.X.Format),User.Type))")
有关更深入的讨论 - 请查看 https://superuser.com/questions/1277331/fillforegnd-in-shapesheet-using-wrong-data 以及在...的扩展讨论 http://visguy.com/vgforum/index.php?topic=8205.15 - 后一个链接还包括一个带有工作表单的示例文件(嗯,工作到他们暴露我的问题的程度)。