Mình có vấn đề như sau.
Tôi cần kiểm tra các đường nào đang nối vào "Rectangle 3" (hình màu đỏ). Tuy nhiên kết quả trả về là :
Shape Elbow Connector 25 is connected to the Rectangle 3
Trong khi quan sát chúng ta thấy đang có 3 đường kẻ nối vào.
Tôi cần kiểm tra các đường nào đang nối vào "Rectangle 3" (hình màu đỏ). Tuy nhiên kết quả trả về là :
Shape Elbow Connector 25 is connected to the Rectangle 3
Trong khi quan sát chúng ta thấy đang có 3 đường kẻ nối vào.
Mã:
Sub IdentifyConnectedShapes33()
Dim ws As Worksheet
Dim flg1 As Boolean, flg2 As Boolean
Dim shape As shape
Dim rectangle As shape
Dim startX As Double
Dim startY As Double
Dim endX As Double
Dim endY As Double
Dim s As String
Set ws = ActiveSheet
Set rectangle = ws.Shapes("Rectangle 3")
For Each shape In ws.Shapes
If shape.Type = 1 Or shape.Type = 9 Or shape.Type = 5 Then
If shape.Name <> rectangle.Name Then
startX = shape.Left
startY = shape.Top
endX = shape.Left + shape.Width
endY = shape.Top + shape.Height
flg1 = (startX >= rectangle.Left And startX <= rectangle.Left + rectangle.Width) _
And (startY >= rectangle.Top And startY <= rectangle.Top + rectangle.Height)
flg2 = (endX >= rectangle.Left And endX <= rectangle.Left + rectangle.Width) _
And (endY >= rectangle.Top And endY <= rectangle.Top + rectangle.Height)
If flg1 Or flg2 Then
Debug.Print "Shape " & shape.Name & " is connected to the " & rectangle.Name
End If
End If
End If
Next shape
End Sub
Bạn cần đăng nhập để thấy hình ảnh
Đính kèm
-
11.9 KB Lượt xem: 9