Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Line Start and End Coordinates
I have a line on the screen (shape). I would like to select it and get the
starting and ending coordinates of the line. TIA, James |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Line Start and End Coordinates
Hi!
"Zone" wrote: I have a line on the screen (shape). I would like to select it and get the starting and ending coordinates of the line. TIA, James I hope that next code help you a little. ActiveSheet.Shapes(1).Select 'if you have only one line Range("A1").Value = Selection.ShapeRange.Item(1).Left Range("A2").Value = Selection.ShapeRange.Item(1).Width Range("A3").Value = Selection.ShapeRange.Item(1).Top Range("A4").Value = Selection.ShapeRange.Item(1).Height Regards, Kari J Keinonen |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Line Start and End Coordinates
The "flips" help work out which pair of corners of the imaginary rectangle,
that surround the line, represent the correct diagonal. (I tried to make that short!) Sub test() Dim bHflip As Boolean, bVflip As Boolean Dim nBegin As Long, nEnd As Long Dim shp As Shape Dim aC(1 To 4, 1 To 2) As Double Set shp = ActiveSheet.Shapes("Line 1") With shp aC(1, 1) = .Left: aC(1, 2) = .Top aC(2, 1) = .Left + .Width: aC(2, 2) = .Top aC(3, 1) = .Left: aC(3, 2) = .Top + .Height aC(4, 1) = .Left + .Width: aC(4, 2) = .Top + .Height bHflip = .HorizontalFlip bVflip = .VerticalFlip End With If bHflip = bVflip Then If bVflip = False Then ' down to right nBegin = 1: nEnd = 4 Else ' up to left nBegin = 4: nEnd = 1 End If ElseIf bHflip = False Then ' up to right nBegin = 3: nEnd = 2 Else ' down to left nBegin = 2: nEnd = 3 End If Debug.Print "Begin X:Y", "End X:Y" Debug.Print aC(nBegin, 1); aC(nBegin, 2), aC(nEnd, 1); aC(nEnd, 2) End Sub Regards, Peter T "Zone" wrote in message ... I have a line on the screen (shape). I would like to select it and get the starting and ending coordinates of the line. TIA, James |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Line Start and End Coordinates
Thanks very much, Peter and Kari. Your replies are very helpful to me.
James "Peter T" <peter_t@discussions wrote in message ... The "flips" help work out which pair of corners of the imaginary rectangle, that surround the line, represent the correct diagonal. (I tried to make that short!) Sub test() Dim bHflip As Boolean, bVflip As Boolean Dim nBegin As Long, nEnd As Long Dim shp As Shape Dim aC(1 To 4, 1 To 2) As Double Set shp = ActiveSheet.Shapes("Line 1") With shp aC(1, 1) = .Left: aC(1, 2) = .Top aC(2, 1) = .Left + .Width: aC(2, 2) = .Top aC(3, 1) = .Left: aC(3, 2) = .Top + .Height aC(4, 1) = .Left + .Width: aC(4, 2) = .Top + .Height bHflip = .HorizontalFlip bVflip = .VerticalFlip End With If bHflip = bVflip Then If bVflip = False Then ' down to right nBegin = 1: nEnd = 4 Else ' up to left nBegin = 4: nEnd = 1 End If ElseIf bHflip = False Then ' up to right nBegin = 3: nEnd = 2 Else ' down to left nBegin = 2: nEnd = 3 End If Debug.Print "Begin X:Y", "End X:Y" Debug.Print aC(nBegin, 1); aC(nBegin, 2), aC(nEnd, 1); aC(nEnd, 2) End Sub Regards, Peter T "Zone" wrote in message ... I have a line on the screen (shape). I would like to select it and get the starting and ending coordinates of the line. TIA, James |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Showing x,y coordinates of a line | Charts and Charting in Excel | |||
code to go to start of line | Excel Programming | |||
Convert point coordinates - pixel coordinates | Excel Programming | |||
Simple way to convert UTM ED50 coordinates to decimal coordinates? | Excel Programming | |||
Converting MouseDown Coordinates to Chart Point Coordinates | Excel Programming |