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 のサポートおよびフィードバックを参照してください。