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