
Visio 2007 隨附的一些預裝形狀具有選項。例如,如果我將電氣工程 › 開關和繼電器形狀頁面中的 SPDT 插入到我的繪圖中,我可以右鍵單擊它並選擇“設定開關位置”。
如何將此類功能添加到我自己的形狀中?
答案1
我不確定您對 Visio 有多熟悉,但任何形狀下面都有一個稱為形狀表的東西。形狀表基本上是一個電子表格,其中每個單元格指示 Visio 渲染形狀(或以其他方式保存資料)。
為此,我相信您必須在 Visio 中啟用開發人員模式,然後您可以右鍵單擊形狀並選擇形狀表視窗。我認為它也在視窗下拉選單/功能區中。
所以無論如何,一旦你進入形狀表,你就可以看到形狀的寬度、高度等項目...如果你選擇一個帶有寬度的單元格,你可能只會看到值,但前面有一個 = 符號它的。因此,它實際上不是一個直接的寬度值,而是一個公式。將高度公式變更為=寬度/2,您將看到在調整寬度時,高度保持為寬度的一半。
所以現在為了更接近回答你的問題,我的猜測是你所指的形狀使用形狀表技巧來完成它的任務。形狀表中有許多不同類型的數據,通常按部分細分。定義形狀的右鍵選單的部分稱為“使用者操作”部分。如果您查看開關形狀的形狀表,您可能會發現一個操作單元格,其中有一個公式,可以使用 SetF 或類似的東西更改某些其他單元格的值。因此,形狀可能被設定為透過切換單一儲存格的值,它會改變它的外觀。
因此,要像這樣設定自己的形狀,您必須執行類似的操作,基本上是建立一個保存所選選項的使用者儲存格。然後將所有其他公式設定為讀取該儲存格。然後,您的操作儲存格會在按一下時設定該選項。
您可以做的另一件事是在Visio 中使用VBA 來回應操作點擊(使用不同的公式- callthis),但在這種情況下,您的VBA 將修改形狀表值和公式,本質上只是使用不同的語言。
網路上有大量關於如何執行所有這些操作的信息,但您在搜尋時需要知道的一個詞是:ShapeSheet。