ShapeRange.LockAspectRatio プロパティ (Project)

サイズを変更するときに図形範囲が元の比率を保持するかどうかを示す値を取得または設定します。つまり、図形範囲の縦横比はロックされます。 取得/設定が可能な 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 のサポートおよびフィードバックを参照してください。