dsimcox
asked on
Rotating a line shape about a point.
I'm trying to rotate a line shape (created with the Shapes.AddLine method) about a point.
I've found an example authored by Chip Pearson - a clock - that does this nicely. It uses the following code to move the second hand:
However, when I try to run this code in Excel 2010, it returns the following error message:
"The specified value is out of range"
(Variables NewX = 296 and NewY = 107)
I've attached the original source file. Can you assist me in getting this to work on the newer version of Excel? Clock.xls
I've found an example authored by Chip Pearson - a clock - that does this nicely. It uses the following code to move the second hand:
Private Sub SetSecondHand(Seconds As Single)
Dim Theta As Single ' clockwise angle from vertical
Dim NewX As Single
Dim NewY As Single
Dim LS as Shape
Theta = (Seconds / 60) * TwoPI
NewX = cCenterX + (cLenSecond * Sin(Theta))
NewY = cCenterY - (cLenSecond * Cos(Theta))
LS.Nodes.SetPosition 2, NewX, NewY
However, when I try to run this code in Excel 2010, it returns the following error message:
"The specified value is out of range"
(Variables NewX = 296 and NewY = 107)
I've attached the original source file. Can you assist me in getting this to work on the newer version of Excel? Clock.xls
The problem is that from excel 2007 the nodes property is no longer used and instead the rotation property is promoted.
let me see if i can come up with a solution...
let me see if i can come up with a solution...
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I've worked with the rotation property - but it rotates about the center point of the line. I want to rotate the line about the end point.
I think the nodes property is still accessible. If you draw a free-form line and check for nodes in the immediate window, it returns the correct answer - but not for a autoshape.
I think the nodes property is still accessible. If you draw a free-form line and check for nodes in the immediate window, it returns the correct answer - but not for a autoshape.
dsimcox, have you tried the updated version of the clock.xls file ?
it uses polylines instead of lines. With polylines (which do have node objects accessible) the clock lines indeed can be pointed 'in the right direction' using macro code.
The version that I uploaded works at my workplace, using excel 2007.
Can you verify that it also works at your location ?
it uses polylines instead of lines. With polylines (which do have node objects accessible) the clock lines indeed can be pointed 'in the right direction' using macro code.
The version that I uploaded works at my workplace, using excel 2007.
Can you verify that it also works at your location ?
ASKER
I'd like to try the newer version of clocks.xls but I don't know where to find it. Can you post a link please?
it's in my post 36813503 of september 29th @ 10.28 AM
you can click on the underlined text clock.xls
you can click on the underlined text clock.xls
ASKER
Great - I'm out of town until Monday so I'll have a look at it then. Thanks for your helpful reply!
ASKER
I was able to use this example to get my code working. Thanks for making the updates to Chip's code. It helped a lot!
you're welcome !
ASKER