Shape.ZOrder wird nicht ausgeführt
20.09.2016 14:43:47
Llemaban
Ich bleib leider bei msoBringForeward/msoSendBackward stecken.
In meinem Code sollen mehrere Shapes von einer Datei zur anderen gebracht werden. Dabei sollte auch der .ZOrderPosition-Wert beibehalten werden. Leider funktioniert meine Lösung dafür nicht, obwohl sie nach meinem Verständnis funktionieren sollte:
Über eine MsgBox lass ich mir folgendes am Anfang anzeigen:
MsgBox zOrderPositionZähler & zOrderPositionIst & zOrderPositionSoll
Nun werden Zähler und Ist-Wert über eine While-Schleife bis auf den Soll-Wert angepasst mit shapes("xy").zOrder msoBringForeward/shapes("xy").zOrder msoSendBackward.
Am Schluss werden die drei Werte wieder über die MsgBox ausgelesen und siehe da, Zähler und Soll sind identisch, Ist-Wert (zOrderPosition) bleibt aber immer noch gleich wie am Anfang... Wieso?
Hier noch der genaue Code (etwas unübersichtlich, sorry):
MsgBox zOrderPositionVorlage_skriptGrafikUebertragen & "|" & WS_Vorlage.Shapes("" & namen_skriptGrafikUebertragen(i_skriptGrafikUebertragen) & "").ZOrderPosition & "|" & zOrderPositionMontageanweisung_skriptGrafikUebertragen
Do While zOrderPositionVorlage_skriptGrafikUebertragen WS_Vorlage.Shapes("" & namen_skriptGrafikUebertragen(i_skriptGrafikUebertragen) & "").ZOrder msoBringForward
Application.Wait Now + TimeSerial(0, 0, 1)
zOrderPositionVorlage_skriptGrafikUebertragen = zOrderPositionVorlage_skriptGrafikUebertragen + 1
Loop
Do While zOrderPositionVorlage_skriptGrafikUebertragen > zOrderPositionMontageanweisung_skriptGrafikUebertragen
WS_Vorlage.Shapes("" & namen_skriptGrafikUebertragen(i_skriptGrafikUebertragen) & "").ZOrder msoSendBackward
Application.Wait Now + TimeSerial(0, 0, 1)
zOrderPositionVorlage_skriptGrafikUebertragen = zOrderPositionVorlage_skriptGrafikUebertragen - 1
Loop
MsgBox zOrderPositionVorlage_skriptGrafikUebertragen & "|" & WS_Vorlage.Shapes("" & namen_skriptGrafikUebertragen(i_skriptGrafikUebertragen) & "").ZOrderPosition & "|" & zOrderPositionMontageanweisung_skriptGrafikUebertragen
lg Llemaban