22.03.2014, 02:35
Hallo Norre,
Durch Dein Makro werden die Objekte gruppiert, Gruppen können aber nicht Ebenen-übergreifend sein, deshalb wird alles auf eine Ebene geschoben.
Besser wäre es, anstatt einer Gruppe, einen ShapeRange zu benutzen:
In diesem Beispiel werden die Ebene "Bitmap", die Hilfslinien und die Master-Seite ausgeschlossen.
Das Entsperren von Ebenen erspart man sich damit auch.
(Getestet mit X4 und X5)
Gruß
Koter
norre schrieb:das Teil hat nur nen Haken, dass es alles auf eine Ebene schiebt, vielleicht könnte sich das ja auch noch Dr.mac Koter ansehen und auch den Code von oben für das Entsperren und das Sperren der Ebenen zum Schluss noch einbauen.....ich habs nicht hinbekommen :-(
Durch Dein Makro werden die Objekte gruppiert, Gruppen können aber nicht Ebenen-übergreifend sein, deshalb wird alles auf eine Ebene geschoben.
Besser wäre es, anstatt einer Gruppe, einen ShapeRange zu benutzen:
Code:
Sub Allesaufmitte()
Dim sr1 As ShapeRange
Set sr1 = ActivePage.Shapes.All
sr1.RemoveRange ActivePage.GuidesLayer.Shapes.All 'Hilflinien ausschließen
sr1.RemoveRange ActivePage.Layers("Bitmap").Shapes.All 'Layer "Bitmap" ausschließen
sr1.RemoveRange ActiveDocument.MasterPage.Shapes.All 'Master-Seite ausschließen
sr1.AlignRangeToPageCenter cdrAlignHCenter
End Sub
In diesem Beispiel werden die Ebene "Bitmap", die Hilfslinien und die Master-Seite ausgeschlossen.
Das Entsperren von Ebenen erspart man sich damit auch.
(Getestet mit X4 und X5)
Gruß
Koter