excel2003 円を滑らかに回転させるには
EXCEL2003で回転する円を描こうと思いました。
下の関数 Sub CommandButton1_Click() で描いた円を、さらにその下の関数
Sub Circle_Draw() で回転させました。
最初 Circle_Draw() に DoEvents を入れなかったときは円が全く動かなかったの
ですが、入れたら動き出しました。
ただ、ときどき円の動きが止まってしまうことがあります。動きもギザギザ感
があります。
円を滑らかに動かすことはどうやったらできるのでしょうか。
Sub CommandButton1_Click()
ActiveSheet.Shapes.AddShape(msoShapeOval, 420, 300, 48#, 48#).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 3
Selection.Name = "En"
End Sub
Sub Circle_Draw()
Dim XO, YO, XP, YP, Pai, W As Double
XO = 420: YO = 310: R = 250
Pai = 3.141593
K = 2048: W = 0.02
For ii = 1 To 2
For i = 0 To K
Call WaitTM(W)
XP = XO + R * Cos((i / K * 2 + 0.5) * Pai)
YP = YO - R * Sin((i / K * 2 + 0.5) * Pai)
With ActiveSheet.Shapes("En")
.Left = XP
.Top = YP
End With
DoEvents
Next i
Next ii
End Sub
Public Sub WaitTM(waitTime As Variant)
Sleep waitTime
End Sub
お礼
早急なご回答どうもありがとうございます。 ぱっと見た感じではこれで満足できそうです。 英語の勉強をかねてよく読んで理解しようと思います。