2013-07-12 117 views
0

我試圖將形狀的文本字段設置爲所在圖層的名稱(Visio 2010)。我應該能夠設置公式如下:!形狀圖表公式中的Visio頁面ShapeSheet參考

=翻動書頁Layers.Name [LayerMember]

但是,這並不工作,因爲LayerMember是一個字符串和形狀可以在多個層,即, LayerMember =「3」,如果它只在第三層上,但如果它位於三個不同的層上則可以是「3; 2; 5」。因此,使用LEFT(LayerMember,1)獲得列表中的第一個值,但將其放入上述公式的索引字段中也不起作用。將索引字段中的靜態值設置爲正常工作,但我希望能夠更改圖形的圖層,並將圖形上的文本更改爲圖層名稱。

使用LEFT(LayerMember,1)將返回一個字符串。我無法找到一種方法將字符串值轉換爲數字,以從頁面的形狀表中獲取圖層名稱值。

我是Visio的新手,但出於某種原因,我無法弄清楚這一點。

回答

1

圖層是形狀的屬性,所以試試shpObj.Layer(1).Name這會給你形狀所在的第一層的名稱。您需要檢查shjObj.LayerCount以確保形狀實際位於圖層上。

+0

約翰 - 謝謝,但這不是我想要做的。我只是想在對象的形狀表單中輸入一個公式來設置我創建的形狀數據字段的值。我希望形狀數據的值等於它所在圖層的名稱,但是要獲得要通過ThePage!Layer.Name [Index value]訪問背景圖紙工作表數據的圖層名稱 - 我試圖使用形狀的圖層成員值作爲上述的索引值,我不斷收到公式錯誤。 – Greg

+0

無法通過形狀表設置形狀的文字,所以最好還是使用VBA。 –

相關問題