![]() |
Bug, multiple selection of shapes
Hi,
I found the following bug, and hope that someone from Microsoft will read this. Create two shapes (two rectangles for example), say R1, then R2 If you select R1, then R2, and then run some code to get the name of the objects: Set myobj = Selection.Item(1) MsgBox myobj.Name Set myobj = Selection.Item(2) MsgBox myobj.Name you'll see R1, then R2 If you select R2, then R1, and then run some code to get the name of the objects: Set myobj = Selection.Item(1) MsgBox myobj.Name Set myobj = Selection.Item(2) MsgBox myobj.Name you'll see R2, then R2 I believe this is a bug. If not, sorry. Regards, Mr T |
Bug, multiple selection of shapes
When reading multiple objects from the selection at drawingobject level
first time the first object that was selected is returned. Thereafter the order of objects is sorted into ZOrder's (order on sheet), the original selection order can no longer be read. If you put a loop in your code you'll see what I mean. For i = 1 To 2 Set myobj = Selection(1) MsgBox myobj.Name, , myobj.ZOrder Set myobj = Selection(2) MsgBox myobj.Name, , myobj.ZOrder Next In the second loop items will returned in ZOrder Since XL97 MS suggest always use the Shape/ShapeRange level, although DrawingObjects and "Rectangle" etc has been maintained for backwards compatibility (and very useful too). Start afresh and try Set myobj = Selection.ShapeRange(1) MsgBox myobj.Name, , myobj.ZOrderPosition Set myobj = Selection.ShapeRange(2) MsgBox myobj.Name, , myobj.ZOrderPosition Items will be returned in ZOrderPosition regardless of the order they were selected. So if what you say is a bug, and in a sense it is confusing, it was fixed a long time ago. I'm curious, why do people keep posting these bug type suggestions in this manner before having thrashed it in the ng. Thereafter when people respond normally the OP doesn't reply. Regards, Peter T "MrT" wrote in message ... Hi, I found the following bug, and hope that someone from Microsoft will read this. Create two shapes (two rectangles for example), say R1, then R2 If you select R1, then R2, and then run some code to get the name of the objects: Set myobj = Selection.Item(1) MsgBox myobj.Name Set myobj = Selection.Item(2) MsgBox myobj.Name you'll see R1, then R2 If you select R2, then R1, and then run some code to get the name of the objects: Set myobj = Selection.Item(1) MsgBox myobj.Name Set myobj = Selection.Item(2) MsgBox myobj.Name you'll see R2, then R2 I believe this is a bug. If not, sorry. Regards, Mr T |
All times are GMT +1. The time now is 12:40 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com