|
『直接は接続できません。』の意味は、
GroupObjectそのものに対して接続はできません。
GroupObjectの中味の各Shapeには接続できます。
の意味です。
貴方のコードの
>ActiveSheet.Shapes(sNm)
は単独のShapeだったり、GroupObjectだったりするわけですから、
GroupObjectの場合は、その中のShapeに対して接続するように
条件分岐しないといけませんね。
Sub try()
Dim s1 As Shape
Dim s2 As Shape
Sheets("シェイプ").Shapes("shapeJS").Copy
With Sheets("Sheet1")
.Paste
Set s1 = .Shapes(.Shapes.Count)
Set s2 = s1.Duplicate
With .Range("F17")
s1.Left = .Left
s1.Top = .Top
End With
With .Range("J19")
s2.Left = .Left
s2.Top = .Top
End With
If TypeName(s1.DrawingObject) = "GroupObject" Then
Set s1 = s1.GroupItems(1)
End If
If TypeName(s2.DrawingObject) = "GroupObject" Then
Set s2 = s2.GroupItems(1)
End If
With .Shapes.AddConnector( _
msoConnectorElbow, 411, 262.5, 129, 32.25)
.Line.EndArrowheadStyle = msoArrowheadTriangle
.Flip msoFlipHorizontal
.Flip msoFlipVertical
.ConnectorFormat.BeginConnect s1, 4
.ConnectorFormat.EndConnect s2, 2
End With
End With
Set s1 = Nothing
Set s2 = Nothing
End Sub
|
|