2

グループ (sheet.44) にグループ化された、多くの小さな形状 (sheet.6 から 43) を持つ複雑なステンシルがあります。その中にサブグループもあります。

シェイプシートの数式を使用してこのグループを非表示にして、ユーザー プロパティを使用したいと考えています。

単純な形状では、Geometry1.NoShow=sheet.44!user.isHidden Miscellaneous.HideText=sheet.44!user.isHidden を設定します。

しかし、それをすべてのサブシェイプで継承するにはどうすればよいでしょうか? vbaで?

回答付きで編集:

VBA以外に方法がないことを確認してくれたJonに感謝します。これは、同じ問題を抱えているすべての人のための私の 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

またね !

4

1 に答える 1

1

VBAコードは、グループが新しい図形を取得するたびに、すべてのサブ図形をループしてその数式を設定する必要があります。数式の形式は例と同じであるため、実行するのはそれほど難しくありません。

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

またはそのようなもので、ParShp.Shapesの各SubShpのループにあります...

于 2012-12-14T17:24:24.120 に答える