2011-03-13 9 views
1

vb 또는 vba에서 VISIO Shape.cells 컬렉션을 쿼리하는 방법에 대한 제안이 필요합니다.Visio Shape.Cell 컬렉션 검사

페이지에 도형을 떨어 뜨릴 응용 프로그램을 작성 했으므로 페이지에 놓은 후 이름을 변경할 수 있습니다. 이제 모양 셀 컬렉션을 검사하고 싶습니다.

감사합니다.

답변

4

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 

많은 모양의 셀이 많으면이 방법으로 루핑을 느리게 할 수 있습니다. 많은 수의 셀의 수식 또는 결과에 액세스해야하는 경우 SRC 값의 배열을 가져 오는 GetFormulas 및 GetResults 메서드가 페이지 개체에 있으며 모든 IDC 수식/결과를 동시에 가져 오는 셰이프 ID가 있습니다.

+0

답장을 보내 주셔서 감사합니다. 나는 네가 제안한 것을 시도 할 것이다. – Erwin1

+0

그것은 작동합니다. 감사. – Erwin1

관련 문제