InsertAfter Method

Microsoft Word Visual Basic

InsertAfter Method

       

Inserts the specified text at the end of a range or selection. After this method is applied, the range or selection expands to include the new text.

expression.InsertAfter(Text)

expression   Required. An expression that returns a Selection or Range object.

Text   Required String. The text to be inserted.

Remarks

You can insert characters such as quotation marks, tab characters, and nonbreaking hyphens by using the Visual Basic Chr function with the InsertAfter method. You can also use the following Visual Basic constants: vbCr, vbLf, vbCrLf and vbTab.

If you use this method with a range or selection that refers to an entire paragraph, the text is inserted after the ending paragraph mark (the text will appear at the beginning of the next paragraph). To insert text at the end of a paragraph, determine the ending point and subtract 1 from this location (the paragraph mark is one character), as shown in the following example.

Set doc = ActiveDocument
Set rngRange = _
    doc.Range(doc.Paragraphs(1).Start, _
    doc.Paragraphs(1).End - 1)
rngRange.InsertAfter _
    " This is now the last sentence in paragraph one."

However, if the range or selection ends with a paragraph mark that also happens to be the end of the document, Microsoft Word inserts the text before the final paragraph mark rather than creating a new paragraph at the end of the document.

Also, if the range or selection is a bookmark, Word inserts the specified text but does not extend the range or selection or the bookmark to include the new text.

Example

This example inserts text at the end of the active document. The Content property returns a Range object.

ActiveDocument.Content.InsertAfter "end of document"

This example inserts text at the end of the selection and then collapses the selection to an insertion point.

With Selection
    .InsertAfter "appended text"
    .Collapse Direction:=wdCollapseEnd
End With

This example inserts text from an input box as the second paragraph in the active document.

response = InputBox("Type some text")
With ActiveDocument.Paragraphs(1).Range
    .InsertAfter "1." & Chr(9) & response
    .InsertParagraphAfter
End With