WD2000: WordBasic.FormatPicture Resizes Picture Incorrectly Using Cropping (209937)



The information in this article applies to:

  • Microsoft Word 2000

This article was previously published under Q209937

SYMPTOMS

When you use the WordBasic.FormatPicture commands in Visual Basic for Applications to crop a picture, the resulting size is incorrect.

For example, the following commands insert an image into a new document. The resulting size should be a height and width of 2 inches (144 points), and ScaleX and Y should be 400 percent.

However, the resulting height and width are 3.5 inches, and ScaleX and Y are 700 percent.

Sub CropPicture()
    With WordBasic
        .FileNewDefault
        .InsertPicture New:=1
        .CharLeft 1, 1
        .FormatPicture CropLeft:=18, CropRight:=18, CropTop:=18, _
            CropBottom:=18, SizeX:=144, SizeY:=144, SetSize:=1, _
            ScaleX:=200, ScaleY:=200
    End With
End Sub
				

CAUSE

The scale percent is ignored in Visual Basic for Applications.

RESOLUTION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
To resolve this problem, use the equivalent Visual Basic for Applications commands, as in the following example:

The following example Visual Basic for Applications macro creates an empty image 2-inches square, cropped .25 inch on all sides.
Sub CropPicture()
    Documents.Add
    Set myPic = ActiveDocument.InlineShapes.New _
        (Range:=Selection.Range)
    With myPic
        .Height = 144
        .Width = 144
        With .PictureFormat
            .CropLeft = 18
            .CropRight = 18
            .CropTop = 18
            .CropBottom = 18
        End With
    End With
End Sub
				

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Modification Type:MajorLast Reviewed:6/17/2005
Keywords:kbbug kbnofix KB209937