Welcome toWord.Tips.Net
Ask a Word Question
Make a Comment
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Setting Fraction Bar Overhang Spacing in the Equation Editor
Printing On Both Sides of the Paper
Turning Off AutoComplete for Dates
Understanding Auto Line Spacing
Adding Comments to Your Document
Conditional Calculations in Word
Word keeps quite a bit of information together about the images that you insert in your documents. This information is necessary so that Word knows how to size, position, and display images. If you want to find out more information about the images in your document, then you need to know something about how Word stores the information.
Images are stored as either of two types of graphic objects: regular shapes or inline shapes. Regular shapes are those that reside on the drawing layer, as opposed to inline shapes, which reside in the text layer. Both types of objects are stored with different object collections. Regular shapes are in the Shapes collection, and inline shapes are stored in the InlineShapes collection. To access information about the objects, you just need to use a little VBA.
The following VBA macro will work in Word 2000 (or later versions) to create a document that displays the size of all the graphics objects within a document, in both points and pixels:
Sub FigureInfo()
Dim iShapeCount As Integer
Dim iILShapeCount As Integer
Dim DocThis As Document
Dim J As Integer
Dim sTemp As String
Set DocThis = ActiveDocument
Documents.Add
iShapeCount = DocThis.Shapes.Count
If iShapeCount > 0 Then
Selection.TypeText Text:="Regular Shapes"
Selection.TypeParagraph
End If
For J = 1 To iShapeCount
Selection.TypeText Text:=DocThis.Shapes(J).Name
Selection.TypeParagraph
sTemp = " Height (points): "
sTemp = sTemp & DocThis.Shapes(J).Height
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
sTemp = " Width (points): "
sTemp = sTemp & DocThis.Shapes(J).Width
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
sTemp = " Height (pixels): "
sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Height, True)
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
sTemp = " Width (pixels): "
sTemp = sTemp & PointsToPixels(DocThis.Shapes(J).Width, False)
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
Selection.TypeParagraph
Next J
iILShapeCount = DocThis.InlineShapes.Count
If iILShapeCount > 0 Then
Selection.TypeText Text:="Inline Shapes"
Selection.TypeParagraph
End If
For J = 1 To iILShapeCount
Selection.TypeText Text:="Shape " & J
Selection.TypeParagraph
sTemp = " Height (points): "
sTemp = sTemp & DocThis.InlineShapes(J).Height
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
sTemp = " Width (points): "
sTemp = sTemp & DocThis.InlineShapes(J).Width
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
sTemp = " Height (pixels): "
sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Height, True)
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
sTemp = " Width (pixels): "
sTemp = sTemp & PointsToPixels(DocThis.InlineShapes(J).Width, False)
Selection.TypeText Text:=sTemp
Selection.TypeParagraph
Selection.TypeParagraph
Next J
End Sub
This macro doesn't work in Word 97 because Word 97 does not recognize the PointsToPixels statement. If you remove the lines that use this statement (or create your own PointsToPixels function), then the macro will work just fine under Word 97.
Note that the macro returns the names of regular shapes, but not the names of inline shapes. The reason for this is that Word doesn't maintain the names of inline shapes. When you insert a regular shape in your document (well, on the drawing layer), then Word assigns a name to the shape, such as Rectangle 2 or Oval 3.
Tip #1497 applies to Microsoft Word versions: 97 2000 2002 2003
Add a Professional Finishing Touch! Word includes great tools that allow you to add professional-grade finishing touches to your documents. You can add indexes, tables of contents, and other special tables by using the detailed information available in this volume.