図形を拡大・縮小してアニメーションっぽく動かす【ExcelVBA】

Shape.SchaleHeightメソッド 高さを拡大・縮小

Shape.SchaleWidthメソッド 幅を拡大・縮小

■引数

Factor → 高さの比率を指定  1.5であれば50%拡大 0.5であれば半分サイズ

RelativeToOriginalSize → 基準をどうするか

元のサイズを基準にする(msoTrue)

今のサイズを基準にする(msoFalse)

Scale → 位置をどこを基準にするか

右下隅の位置を保持して拡大縮小(msoScaleFromBottomRight)

中心の位置を保持して拡大縮小(msoScaleFromMiddle)

左上隅の位置を保持して拡大縮小(msoScaleFromTopLeft)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

実際に使用したサンプルコード

Option Explicit
Public Sub 球が転がるぞー()

With Sheet1.Shapes("球")

Do

'垂直方向に5ポイント移動
.IncrementTop 5

'図形を中心の位置を保持して拡大
.ScaleHeight factor:=1.02, relativetooriginalsize:=msoFalse, scale:=msoScaleFromMiddle
.ScaleWidth factor:=1.02, relativetooriginalsize:=msoFalse, scale:=msoScaleFromMiddle

'100ミリ秒待機
Application.Wait [Now()] + 100 / 86400000

Loop

End With

End Sub

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です