Visio) (Master.Open 方法

會開啟現有的主圖形來進行編輯。

語法

運算式。Open

運算式 代表 Master 物件的變數。

傳回值

主圖形

註解

將主物件的 Open 方法與 Close 方法結合使用,以可靠地編輯主物件的圖形和儲存格。 在某些舊版的 Visio 中,您可以編輯 Master 物件的圖形及儲存格,但是這些變更不會發佈給主圖形的實例,而且為編輯的主圖形產生實例時所顯示的對齊方塊資訊,也不是正確的。

若要從程式編輯 Master 物件的圖形及儲存格

  1. 使用 masterObjCopy = masterObj 開啟要編輯的主要物件。 開啟。 如果在 masterObj 中有開啟的繪圖視窗,或是其他程式已經開啟 masterObj,則這段程式碼會失敗。 如果 Open 方法成功,則 masterObjCopy 會是 masterObj 的複本。

  2. 變更 masterObjCopy 中的任何圖形和儲存格,而不是 masterObj。

  3. 使用 masterObjCopy 關閉主物件。 關閉。 如果 masterObjCopy 不是先前 masterObj 所產生的 Master 物件,則 Close 方法會失敗。 開放 通話。 否則, Close 方法會將步驟 2 所做的變更從 masterObjCopy 合併回 masterObj。 它也會更新 masterObj 的所有執行個體,以反映 masterObj 中快取的變更和更新資訊。 如果 masterObj. IconUpdate 不是 visManual (0 ) ,Close 方法會更新樣板視窗中顯示的 masterObj 圖示,以描述 masterObjCopy 的影像。

相對於上面程序所述的開啟及關閉主圖形的動作,如果您直接變更主圖形的圖形及儲存格,則不會發生步驟 3 中所列的結果。

建立 masterObj 複本以進行編輯的程式應該關閉並釋放複本。 Microsoft Visual Basic 通常會自動發行。 但是,當您使用 C 或 C++ 編碼時,必須明確釋放副本,就像對任何其他物件一樣。

注意事項

從 Microsoft Office Visio 2003 開始,只有使用者建立的樣板可編輯。 根據預設,Visio 樣板是無法編輯的。

範例

此Microsoft Visual Basic for Applications (VBA) 巨集示範如何開啟 [主] 物件進行編輯。 它會從文件樣板開啟母片複本,並變更母片的填滿前景色,以及衍生自母片的繪圖中的所有圖形。

執行此巨集之前,請關閉所有開啟的 Visio 文件。 然後,按一下 [檔案 ] 索引標籤,按一下 [新增],然後按一下 [ 建立 ] 以開啟無範本的新文件。 按一下 [矩形 ] 工具,然後在繪圖頁面上繪製矩形。 在 [圖形 ] 視窗中開啟文件樣板 (,按一下 [其他圖形],按一下 [ 顯示文件樣板 ]) ,然後將矩形圖形拖曳到文件樣板上以建立母片。 最後,將矩形母片的幾份複本拖曳到繪圖頁面上。

 
Public Sub OpenMaster_Example() 
 
    Dim vsoMaster As Visio.Master 
    Dim vsoMasterCopy As Visio.Master 
    Dim vsoShape As Visio.Shape 
    Dim vsoCell As Visio.Cell 
 
    Set vsoMaster = Visio.Documents.Masters(1) 
    Set vsoMasterCopy = vsoMaster.Open 
 
    Set vsoShape = vsoMasterCopy.Shapes.Item(1) 
 
    Set vsoCell = vsoShape.CellsU("FillForegnd") 
    vsoCell.Formula = 9 
 
    vsoMasterCopy.Close 
 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。