Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAのLockAspectRatioとは

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2205 ビルド15225.20204 Microsoft Store)

「wordマクロshape lockaspect」
という検索キーワードでアクセスがありました。

Word VBAのShapeオブジェクト等に用意されているLockAspectRatioプロパティについて調べていた方による検索でしょうか。

[スポンサードリンク]

LockAspectRatioは縦横比を固定するかどうかを設定するプロパティ

LockAspectRatioプロパティは、アスペクト比(縦と横の比率)を固定するかどうかを取得/設定するためのプロパティです。

LockAspectRatioプロパティにmsoTrueを指定した場合は縦横比が固定され、msoFalseを指定した場合には縦横比が固定されません。

LockAspectRatioを確認するためのサンプルマクロ

新規Word文書に、画像を浮動オブジェクトとして1つ挿入しておいてから、以下のWordマクロを実行してみてください。

Sub LockAspectRatioを確認する()
 Dim shp As Shape
 Set shp = ActiveDocument.Shapes(1)
 shp.LockAspectRatio = msoTrue
 shp.ScaleWidth _
   Factor:=0.5, _
   RelativeToOriginalSize:=msoFalse
End Sub

LockAspectプロパティにmsoTrueを指定してから、

 shp.LockAspectRatio = msoTrue


Shapeオブジェクトに用意されているScaleWidthメソッドの引数を、


  Factor:=0.5, _
  RelativeToOriginalSize:=msoFalse

と指定しているので、画像の横幅が半分になります。ScaleWidthメソッドは名前のとおり横幅を拡大/縮小するためのメソッドですが、

 shp.LockAspectRatio = msoTrue

と縦横比を固定しているため、高さも半分になります。

LockAspectRatioの効果を確認する

つづいて、

shp.LockAspectRatio = msoTrue

の部分を、

shp.LockAspectRatio = msoFalse

に変更してから、再度実行してみてください。

今度は、縦横比が固定されていないため、横幅だけが半分になります。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAのLockAspectRatioとは

「Shape・図形」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.