Creating InLineShapes

As I have said, an inline shape is a shape that is placed in the text layer of a document and moves with the surrounding text. Inline shapes are restricted to pictures, OLE objects, and ActiveX controls. We will content ourselves with a single example of placing pictures in a document.

To add an inline picture to a document, use the AddPicture method of the InLineShapes collection. The syntax is:

InLineShapesObject.AddPicture(FileName, LinkToFile, _
	SaveWithDocument, Range)

The FileNameparameter is the name of the picture file. The optional LinkToFile is set to True to link the picture to the file from which it was created and False to use an independent copy of the original picture. The default value is False. If the picture is linked, the optional SaveWith Document is set to True to save the linked picture with the document. The default value is False. The parameter Range is the range that will be replaced by the picture (unless, of course, the range is an insertion point).

To illustrate, the following code places a picture with the word ATTENTION! in front of each paragraph that has style Heading 2, turning Figure B-5 into Figure B-6:

	Dim para As Paragraph
	For Each para In ActiveDocument.Paragraphs
	If para.Style = "Heading 2" Then
	   ActiveDocument.InlineShapes.AddPicture _
	      "d:\word\atten.bmp", , , para.Range
	End If
	Next para

Get Writing Word Macros, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.