View Single Post
Old 07-09-2012, 11:14
Joe Joe is offline
Join Date: Nov 2008
Location: Latvia
Posts: 92
Send a message via Skype™ to Joe
Default Follow up

Alright, I managed to come up with a solution to this, that, while not too elegant still seems to function well. Use the power of .findshapes in small, controlled bursts, like this:

Dim SR As ShapeRange
Set SR = ActiveSelectionRange.Shapes.FindShapes(Type:="1", Recursive:=True)
SR.AddRange ActiveSelectionRange.Shapes.FindShapes(Type:="2", Recursive:=True)
SR.AddRange ActiveSelectionRange.Shapes.FindShapes(Type:="3", Recursive:=True)
SR.AddRange ActiveSelectionRange.Shapes.FindShapes(Type:="4", Recursive:=True)
SR.AddRange ActiveSelectionRange.Shapes.FindShapes(Type:="6", Recursive:=True)
It still digs into groups and such, but only picks the necessary shapes while avoiding programming anything recursive
Reply With Quote