1
我需要一些關於如何查詢vb或vba中的VISIO Shape.cells集合的建議。檢查Visio Shape.Cell集合
我已經寫了一個應用程序來放置一個頁面上的形狀,我可以在將它放在頁面上後更改其名稱。現在我想檢查形狀細胞集合。
謝謝
我需要一些關於如何查詢vb或vba中的VISIO Shape.cells集合的建議。檢查Visio Shape.Cell集合
我已經寫了一個應用程序來放置一個頁面上的形狀,我可以在將它放在頁面上後更改其名稱。現在我想檢查形狀細胞集合。
謝謝
Visio形狀細胞分成不同的部分。這些部分可能包括用戶單元,操作或字符設置。還有一系列命名單元格,您只能(我認爲)通過名稱訪問(即PinX或PinY)。
因此,要查詢形狀的單元格,首先必須找出你正在談論的單元格的哪一部分。要循環訪問單元部分,首先需要獲取部分中的行數,然後使用形狀對象上的CellsSRC方法遍歷該部分。
Dim TheShp As Visio.Shape
Set TheShp = ActiveWindow.Selection.Item(1)
Dim TheSec As Visio.Section
Dim TheCell As Visio.Cell
Set TheSec = TheShp.Section(visSectionUser)
Dim RowNum As Long
For RowNum = 0 To TheSec.Count - 1
Set TheCell = TheShp.CellsSRC(visSectionUser, RowNum, 0)
Debug.Print TheCell.Formula
Debug.Print TheCell.Result(visNone)
Next CellNum
如果在很多形狀中存在大量的單元格,以這種方式循環可能會很慢。如果您需要訪問大量單元格的公式或結果,則Page對象上有GetFormulas和GetResults方法,這些方法使用SRC值數組和形狀ID來同時提取所有這些公式/結果。
感謝您的回覆。我會嘗試你的建議。 – Erwin1 2011-03-14 13:31:42
它的工作原理。謝謝。 – Erwin1 2011-03-14 13:55:42