| 
    
     |  | ▼さる さん: こんにちは。
 >オートシェイプを使って、アニメーションもどきを作ってみようと思ったのですが、
 >いきなりつまづいてます。
 >
 >オートシェイプの太陽を右上に移動させたいのですが、うまくいきません。
 >
 >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
 
 でどうでしょうか?
 
 
 |  |