ShapeRange.LockAspectRatio 属性 (Project)

获取或设置一个值,该值指示形状区域在调整大小时是否保留其原始比例;也就是说,形状范围的纵横比已锁定。 读/写 MsoTriState

语法

表达式LockAspectRatio

表达 一个代表“ShapeRange”对象的变量。

备注

如果形状区域在调整大小时保留其原始比例, 则 LockAspectRatio 值为 msoTrue 。 如果可以单独更改形状区域的高度和宽度,则值为 msoFalse

示例

以下示例创建两个形状区域,每个形状区域中都有一个三角形和一个相同大小的齿轮。 左侧形状区域已解锁纵横比,右侧形状区域已锁定纵横比。 图 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。