2015-11-23 199 views
0

我在ShapeSheet中放置了一个函数,以允许我的用户右击一个对象&从预定义的颜色中进行选择。在Visio中保留参考(2010)Shapesheets

随着操作&划痕,该 “FillForeground” 在ShapeSheet条目显示:

= IF(Scratch.A1 = 1,Sheet.1 Scratch.A1,IF(Scratch.A1 = 2 !,Sheet.1 Scratch.B1,0))

对于这个问题的目的,我可以简化这个功能&只是有一个单一的颜色:

= Sheet.1划伤。 A1

如果想蓝色的,而不是红色包含着价值RGB(255,0,0)

,我简单地改变RGB(255,0,0)RGB(0, 0,255)在对象'Sheet.1'中将所有Actions,Scratches & FillForeground运行将对象的红色更改为蓝色。那里一切都很好。

现在,如果我尝试复制&粘贴我的对象(具有可选颜色的对象),它会丢失它对包含我的颜色值的对象的引用。上面的行,变为:

REF()

实线是这样的:= IF(Scratch.A1 = 1,REF(),IF(Scratch.A1 = 2 ,REF(),0))

当然,还当我把页面进入组合发生了:

= IF(Scratch.A1 = 1页[默认值] Sheet.1!刮痕A1,IF(Scratch.A1 = 2,页面[Defaults]!Sheet.1!Scratch.B1,0))

变为:

= IF(Scratch.A1 = 1,REF(),IF(Scratch.A1 = 2,REF(),0))

最后,我'd像一个包含我自己页面上的颜色的单个对象,我可以隐藏。如果我需要完全改变这些颜色。我会改变这个'主'对象&让我的所有对象对象在整个文档中改变。

有谁知道我可能能够保留那些正在改变为'REF()'的引用吗?

回答

0

您可以尝试使用复制(Ctrl + D),它可以进行直接克隆,并且通常会保留公式。复制和粘贴通过剪贴板进行,公式可以释放它们的引用。

+0

嗨,约翰,感谢您的建议。可悲的是,这并没有解决我的问题,因为复制对象将它放在同一页面上。我的主要目标是让我的'参考'对象位于其他地方的隐藏页面上,并且新对象引用这些对象。复制/粘贴似乎是迄今为止在新页面上创建副本的唯一方式。 – Russ

+0

刚刚阅读这里(http://visualsignals.typepad.co.uk/vislog/2012/06/using-page-shape-data-in-visio-master-shapes.html),我也试过存储我需要在“ThePage [Name]!Scratch.A1”中获得的信息,但是结果与“REF()”的情况相同。 – Russ