Natürlich kann man Shapes in Schablonen abspeichern. Aber vielleicht möchte ich nicht, dass Anwender solche Shapes sehen und sich dann fragen, zu welchem Zwecke sie in der Schablone liegen. Und wo sie benötigt werden.
Manchmal ist es einfacher ein Shape per Code zu erzeugen. Beispielsweise diese „Kreuzug“, die jemand haben wollte. Ein paar Zeilen Code und fertig ist das Shape:
Dim vsShapeNeu As Shape
Set vsShapeNeu = ActivePage.DrawRectangle(100, 200, 300, 400)
vsShapeNeu.Cells(„LineWeight“).FormulaU = „=1.5 pt“ ‚ Linienstärke
vsShapeNeu.Cells(„Geometry1.Y1“).FormulaU = „=Height*0.5“
vsShapeNeu.Cells(„Geometry1.Y2“).FormulaU = „=Height*0.5“
vsShapeNeu.Cells(„Geometry1.Y3“).FormulaU = „=Height*0.5“
vsShapeNeu.Cells(„Geometry1.Y4“).FormulaU = „=Height*0.5“
vsShapeNeu.AddSection visSectionFirstComponent + 1
vsShapeNeu.AddRow visSectionFirstComponent + 1, visRowComponent, visTagComponent
vsShapeNeu.AddRow visSectionFirstComponent + 1, visRowVertex, visTagLineTo
vsShapeNeu.AddRow visSectionFirstComponent + 1, visRowVertex, visTagMoveTo
vsShapeNeu.Cells(„Geometry2.X1“).FormulaU = „=Width*0.5“
vsShapeNeu.Cells(„Geometry2.Y1“).FormulaU = „=Height*0“
vsShapeNeu.Cells(„Geometry2.X2“).FormulaU = „=Width*0.5“
vsShapeNeu.Cells(„Geometry2.Y2“).FormulaU = „=Height*1“
vsShapeNeu.AddSection visSectionFirstComponent + 2
vsShapeNeu.AddRow visSectionFirstComponent + 2, visRowComponent, visTagComponent
vsShapeNeu.AddRow visSectionFirstComponent + 2, visRowVertex, visTagLineTo
vsShapeNeu.AddRow visSectionFirstComponent + 2, visRowVertex, visTagLineTo
vsShapeNeu.AddRow visSectionFirstComponent + 2, visRowVertex, visTagLineTo
vsShapeNeu.AddRow visSectionFirstComponent + 2, visRowVertex, visTagLineTo
vsShapeNeu.AddRow visSectionFirstComponent + 2, visRowVertex, visTagMoveTo
vsShapeNeu.Cells(„Geometry3.X1“).FormulaU = „=Width*0.5“
vsShapeNeu.Cells(„Geometry3.Y1“).FormulaU = „=Height*0.25“
vsShapeNeu.Cells(„Geometry3.X2“).FormulaU = „=Width*0.75“
vsShapeNeu.Cells(„Geometry3.Y2“).FormulaU = „=Height*0.5“
vsShapeNeu.Cells(„Geometry3.X3“).FormulaU = „=Width*0.5“
vsShapeNeu.Cells(„Geometry3.Y3“).FormulaU = „=Height*0.75“
vsShapeNeu.Cells(„Geometry3.X4“).FormulaU = „=Width*0.25“
vsShapeNeu.Cells(„Geometry3.Y4“).FormulaU = „=Height*0.5“
vsShapeNeu.Cells(„Geometry3.X5“).FormulaU = „=Width*0.5“
vsShapeNeu.Cells(„Geometry3.Y5“).FormulaU = „=Height*0.25“