ShapeRange.ScaleWidth Method (Excel)

Scales the width of the shape by a specified factor. For pictures and OLE objects, you can indicate whether you want to scale the shape relative to the original or the current size. Shapes other than pictures and OLE objects are always scaled relative to their current width.

expression .ScaleWidth(Factor, RelativeToOriginalSize, Scale)

expression A variable that represents a ShapeRange object.

Parameters

Name

Required/Optional

Data Type

Description

Factor

Required

Single

Specifies the ratio between the width of the shape after you resize it and the current or original width. For example, to make a rectangle 50 percent larger, specify 1.5 for this argument.

RelativeToOriginalSize

Required

MsoTriState

False to scale it relative to its current size. You can specify True for this argument only if the specified shape is a picture or an OLE object.

Scale

Optional

Variant

One of the constants of MsoScaleFrom which specifies which part of the shape retains its position when the shape is scaled.

MsoTriState can be one of these MsoTriState constants.

msoCTrue. Does not apply to this property.

msoFalse. To scale it relative to its current size.

msoTriStateMixed. Does not apply to this property.

msoTriStateToggle. Does not apply to this property.

msoTrue. Can only use this argument if the specified shape is a picture or an OLE object.

This example scales all pictures and OLE objects on myDocument to 175 percent of their original height and width, and it scales all other shapes to 175 percent of their current height and width.

Set myDocument = Worksheets(1) 
For Each s In myDocument.Shapes 
    Select Case s.Type 
    Case msoEmbeddedOLEObject, _ 
            msoLinkedOLEObject, _ 
            msoOLEControlObject, _ 
            msoLinkedPicture, msoPicture 
        s.ScaleHeight 1.75, msoTrue 
        s.ScaleWidth 1.75, ,msoTrue 
    Case Else 
        s.ScaleHeight 1.75, msoFalse 
        s.ScaleWidth 1.75, msoFalse 
    End Select 
Next
Show:
© 2015 Microsoft