2012-12-13 1 views
1

그룹 (sheet.44)으로 그룹화 된 많은 작은 모양 (sheet.6 - 43)을 가진 복잡한 스텐실이 있습니다. 또한 하위 그룹이 있습니다.스텐실에서 visio shape 그룹을 숨기는 방법

사용자 속성을 사용하기 위해 셰이프 시트 수식을 사용하여이 그룹을 숨기고 싶습니다. !

내가 설정합니다 간단한 모양에

! Geometry1.NoShow = sheet.44 user.isHidden Miscellaneous.HideText = sheet.44 user.isHidden

그러나이 모든 하위 형태에 상속 만드는 방법 ? vba와? 답

편집 :

은 VBA보다 다른 방법이 없다는 것을 corfirming 당신에게 존 감사드립니다. 다음은 동일한 문제가있는 모든 사람들을위한 VBA 코드입니다.

Call makeithidden("Sheet.164!Geometry1.NoShow", myshape) 


Sub makeithidden(formula As String, ByVal myshape As Shape) 
    For Each subShape In myshape.Shapes 
     subShape.Cells("geometry1.noShow").FormulaForceU = formula 
     subShape.Cells("HideText").FormulaForceU = formula 
     Call makeithidden(formula, subShape) 
    Next subShape 
End Sub 

여러분!

답변

1

VBA 코드는 모든 하위 셰이프를 반복하고 그룹이 새로운 셰이프를 얻을 때마다 해당 수식을 위로 설정해야합니다. 식의 형식은 당신의 예처럼 될 것이다, 그래서 할 너무 어렵지 않을 것이다 : 그 ParShp.Shapes의 각 SubShp에 대한 루프에서의

같은
SubShp.CellsSRC(visSectionFirstComponent,0,2).FormulaU = "Sheet." & Cstr(ParShp.ID) & "!Geometry1.NoShow" 

또는 뭔가 ...

관련 문제