ScaleWidth Method
Applies To
Shape object, ShapeRange collection object.
Description
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.
Syntax
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 Long. True to scale the shape relative to its original size. 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.
fScale Optional Long. Specifies which part of the shape retains its position when the shape is scaled. Can be one of the following MsoScaleFrom constants: msoScaleFromBottomRight, msoScaleFromMiddle, or msoScaleFromTopLeft. The default value is msoScaleFromTopLeft.
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 = Worksheets(1)
For Each s In myDocument.Shapes
Select Case s.Type
Case msoEmbeddedOLEObject, msoLinkedOLEObject, msoOLEControlObject, _
msoLinkedPicture, msoPicture
s.ScaleHeight 1.75, True
s.ScaleWidth 1.75, True
Case Else
s.ScaleHeight 1.75, False
s.ScaleWidth 1.75, False
End Select
Next