ScaleWidth Method

Microsoft PowerPoint Visual Basic

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 size or relative to the current size. Shapes other than pictures and OLE objects are always scaled relative to their current width.

expression.ScaleWidth(Factor, RelativeToOriginalSize, fScale)

expression    Required. An expression that returns a Shape or ShapeRange object.

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. Specifies whether a shape is scaled relative to its current or original size.

MsoTriState can be one of these MsoTriState constants.
msoCTrue
msoFalse Scales the shape relative to its current size.
msoTriStateMixed
msoTriStateToggle
msoTrue Scales the shape relative to its original size. You can specify msoTrue for this argument only if the specified shape is a picture or an OLE object.

fScale   Optional MsoScaleFrom. The part of the shape that retains its position when the shape is scaled.

MsoScaleFrom can be one of these MsoScaleFrom constants.
msoScaleFromBottomRight
msoScaleFromMiddle
msoScaleFromTopLeft Default.

Example

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 = ActivePresentation.Slides(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