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
|