サイズを変更したときに、図形範囲が元の比率を維持するかどうかを示す値を取得または設定します。つまり、形状範囲の縦横比は固定されます。 取得/設定が可能な MsoTriState 値です。
構文
式。LockAspectRatio
式 'ShapeRange' オブジェクトを表す変数。
注釈
サイズ変更後に図形範囲が元の比率を保持している場合、 LockAspectRatio 値は msoTrue です。 図形範囲の高さと幅を個別に変更できる場合、値は msoFalse です。
例
次の例では、2 つの形状範囲を作成します。各形状範囲に同じサイズの三角形と歯車があります。 左側の図形範囲では縦横比がロック解除され、右側の図形範囲では縦横比がロックされています。 図 1 は、各図形範囲を同じ量だけサイズ変更した場合の結果を示しています。
図形範囲の変更は、範囲内の各図形に適用されます。
Sub ResizeShapeRanges()
Dim shapeReport As Report
Dim reportName As String
Dim triangle1 As shape
Dim triangle2 As shape
Dim gear1 As shape
Dim gear2 As shape
Dim sRange1 As ShapeRange
Dim sRange2 As ShapeRange
reportName = "ShapeRange resize report"
Set shapeReport = ActiveProject.Reports.Add(reportName)
With shapeReport.Shapes
Set triangle1 = .AddShape(msoShapeIsoscelesTriangle, 10, 10, 100, 100)
Set gear1 = .AddShape(msoShapeGear6, 10, 120, 100, 100)
Set triangle2 = .AddShape(msoShapeIsoscelesTriangle, 150, 10, 100, 100)
Set gear2 = .AddShape(msoShapeGear6, 150, 120, 100, 100)
gear2.BackgroundStyle = msoBackgroundStylePreset3
Set sRange1 = .Range(Array(1, 2))
Set sRange2 = .Range(Array(3, 4))
End With
sRange1.LockAspectRatio = msoFalse
sRange1.height = 200
' Set a yellow shape style for gear1.
sRange1(2).ShapeStyle = msoShapeStylePreset26
sRange2.LockAspectRatio = msoTrue
sRange2.height = 200
sRange2.Select
End Sub
図 1 では、縦横比がロックされた右の形状範囲が選択されています。
図 1. 縦横比のロックが解除またはロックされているときの図形範囲のサイズ変更
プロパティ値
MSOTRISTATE
関連項目
ShapeRange オブジェクトShape.LockAspectRatio プロパティMsoTriState
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。