|
▼さる さん:
こんにちは。
>オートシェイプを使って、アニメーションもどきを作ってみようと思ったのですが、
>いきなりつまづいてます。
>
>オートシェイプの太陽を右上に移動させたいのですが、うまくいきません。
>
>Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
>Sub 動作()
> Dim i As Integer
>
> For i = 1 To 100
> With Selection.ShapeRange
> .IncrementTop -0.75
> .IncrementLeft 0.75
> End With
> Sleep(200)
> Next
>
>End Sub
>というコードなんですが、実行すると、実行時間が長くなるだけで、実行前にある位置から、実行後の位置へ移動する間が表示されません。コマ送りのように表示させたいのですが...
>
>どなたかご教授お願いします。
'===============================================
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub 動作()
Dim i As Integer
Set shprng = Selection.ShapeRange
'一回変数にセットしておかないとSelectionの移動が可能なので・・・
For i = 1 To 100
With shprng
.IncrementTop -0.75
.IncrementLeft 0.75
End With
DoEvents
' ↑を入れてみて
Sleep (200)
Next
End Sub
でどうでしょうか?
|
|