Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


75500 / 76734 ←次へ | 前へ→

【5670】Re:オートシェイプの移動
回答  ichinose  - 03/5/27(火) 11:01 -

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

でどうでしょうか?

1 hits

【5669】オートシェイプの移動 さる 03/5/27(火) 10:42 質問
【5670】Re:オートシェイプの移動 ichinose 03/5/27(火) 11:01 回答
【5672】Re:オートシェイプの移動 さる 03/5/27(火) 11:17 お礼

75500 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free