図形(Shape)を縦横比固定で拡大縮小する方法を解説します。
ShapeオブジェクトのLockAspectRatioプロパティにmsoTrueを指定してから、
Width・Heightプロパティでサイズを変更します。
基本構文
' 図形のプロパティ「縦横比を固定」をチェック☑ 対象Shape.LockAspectRatio = msoTrue 対象Shape.Width = 幅(単位:ポイント) ' または 対象Shape.Height = 高さ(単位:ポイント)
※ Width/Heightの片方を変更すればもう片方も自動で変更されます。
サンプルコード
Dim 対象図形 As Shape Set 対象図形 = ActiveSheet.Shapes("Picture 1") ' 縦横比を固定して幅を200ポイントに 対象図形.LockAspectRatio = msoTrue 対象図形.Width = 200 ' 縦横比を固定して高さを200ポイントに 対象図形.LockAspectRatio = msoTrue 対象図形.Height = 200 ' 縦横比を固定してサイズを1.5倍に 対象図形.LockAspectRatio = msoTrue 対象図形.Width = 対象図形.Width * 1.5
解説
図形(Shape)を縦横比固定で拡大縮小するには、
LockAspectRatioプロパティにmsoTrueを指定します。
この状態でWidthまたはHeightを変更すると、
もう一方のサイズも縦横比に合わせて自動調整されます。
対象図形.LockAspectRatio = msoTrue 対象図形.Width = 200 ' ← ここでHeightも追従する
LockAspectRatioを指定した後の図形の拡大・縮小は、
サンプルの通りWidth/Heightプロパティへの代入で行います。
詳しくはこちらの記事をどうぞ
www.limecode.jp