View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Peter T Peter T is offline
external usenet poster
 
Posts: 5,600
Default Problem with Shape Names containing punctuation

My routine to create an object of multiple shapes fails if any shape name
includes punctuation, eg

"My.Rectangle 1"

Sub TestMultiObject()
Dim cnt As Long, i as Long
Dim ob As Object

With ActiveSheet.Shapes
cnt = .Count
ReDim vArr(1 To cnt)
For i = 1 To cnt 'don't want to use "For Each"
vArr(i) = .Item(i).Name
Next
End With

'fails if any shape Name includes a dot
Set ob = ActiveSheet.DrawingObjects(vArr)

'always works
'Set ob = ActiveSheet.Shapes.Range(vArr)

MsgBox ob.Count
End Sub

I don't know why I have this problem with punctuation in shape names. First
question - does anyone else have same problem, or rather not replicate this
problem.

I have a convoluted reason for not wanting to use the line that "always
works".

Assuming this affects all users/versions, does anyone know how to create a
multiple object at the "DrawingObjects" level that caters for the
possibility of a name including punctuation.

TIA,
Peter T