ID: Q183866
The information in this article applies to:
This article provides several Visual Basic for Applications macro examples that use the Selection property and the Range object to insert text into a document.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals 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 needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/refguide/
Inserts the specified text. If the ReplaceSelection Property is True, the selection is replaced by the specified text. If ReplaceSelection Property is False, the specified text is inserted before the selection.
For more information about the ReplaceSelection Property, from the Visual Basic Editor, click the Office Assistant, type "ReplaceSelection Property," click Search, and then click to view "ReplaceSelection Property."
NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If the Assistant is not able to answer your query, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q176476
TITLE : OFF: Office Assistant Not Answering Visual Basic Questions
Sub TypeTextMethod()
Dim MyText As String
MyText = "<Replace this with your text>"
Selection.TypeText (MyText)
End Sub
The following example replaces the entire contents of a document with the word "Replaced" regardless of the current position of the insertion point.
Sub RangeProperty()
' Range Example:
ActiveDocument.Range.Text = "Replaced"
End Sub
InsertAfter Method example:
Inserts the specified text at the end of a range or selection.
Sub InsertAfterMethod()
Dim MyText As String
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
MyText = "<Replace this with your text>"
' Selection Example:
Selection.InsertAfter (MyText)
' Range Example:
' (Inserts text at the current position of the insertion point.)
MyRange.Collapse
MyRange.InsertAfter (MyText)
End Sub
InsertBefore Method example:
Inserts the specified text at the beginning of a range or selection. After this method is applied, the range or selection expands to include the new text.
Sub InsertBeforeMethod()
Dim MyText As String
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
MyText = "<Replace this with your text>"
' Selection Example:
Selection.InsertBefore (MyText)
' Range Example: Inserts text at the beginning
' of the active document.
MyRange.InsertBefore (MyText)
End Sub
Inserts a comment at the current position of the insertion point.
Sub CommentsCollectionObject()
Dim MyText As String
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
MyText = "<Replace this with your text>"
' Selection Example:
Selection.Comments.Add Range:=Selection.Range, Text:=MyText
' Range Example:
MyRange.Comments.Add Range:=Selection.Range, Text:=MyText
End Sub
Inserts a field at the current position of the insertion point.
Sub FieldsCollectionObject()
Dim MyText As String
Dim MyRange As Object
Set MyRange = Selection.Range
MyText = "<Replace this with your text>"
' Selection Example:
Selection.Fields.Add Range:=Selection.Range, _
Type:=wdFieldQuote, Text:=MyText
' Range Example:
Range.Fields.Add Range:=Selection.Range, _
Type:=wdFieldQuote, Text:=MyText
End Sub
This example inserts a formula field. The result is formatted with a dollar
sign.
Sub InsertFormulaMethod()
Selection.InsertFormula Formula:="=100,000.0-45,000.0", _
NumberFormat:="$#,##0.0"
End Sub
This property returns a Range object with the character formatting and text from the specified range or selection. Paragraph formatting is included in the Range object if there is a paragraph mark in the range or selection. When you set this property, the text in the range is replaced with formatted text. If you do not want to replace the existing text, use the Collapse method before using this property.
Sub FormattedTextProperty()
' This example copies the first paragraph in the document, including
' its formatting, and inserts the formatted text at the insertion
' point.
Selection.Collapse Direction:=wdCollapseStart
Selection.FormattedText = ActiveDocument.Paragraphs(1).Range
End Sub
NOTE: The HeaderFooter property requires that the selection be located within a header or footer or an error will occur.
Sub HeaderFooterProperty()
Dim MyText As String
MyText = "<Replace this with your text>"
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.HeaderFooter.Range.Text = "MyText"
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
The following example changes the text of both the primary header and the
primary footer for the first section of the active document.
Sub HeaderFooterObject()
Dim MyText As String
MyHeaderText = "<Replace this with your text>"
MyFooterText = "<Replace this with your text>"
With ActiveDocument.Sections(1)
.Headers(wdHeaderFooterPrimary).Range.Text = MyHeaderText
.Footers(wdHeaderFooterPrimary).Range.Text = MyFooterText
End With
End Sub
This example inserts a Time field for the current date. A possible result might be "November 18, 1996."
Sub InsertDateTimeMethod()
Dim MyRange As Object
Set MyRange = Selection.Range
' Selection Example:
Selection.InsertDateTime DateTimeFormat:="MMMM dd, yyyy", _
InsertAsField:=True
' Range Example:
MyRange.InsertDateTime DateTimeFormat:="MMM dd, yyyy", _
InsertAsField:=True
End Sub
This example inserts a new paragraph below the current position of the insertion point.
Sub InsertParagraphMethod()
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
' Selection Example:
Selection.InsertParagraph
' Range Example:
MyRange.Collapse Direction:=wdCollapseStart
MyRange.InsertParagraph
End Sub
This example inserts a double-headed arrow at the insertion point.
Sub InsertSymbolMethod()
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
' Selection Example:
Selection.InsertSymbol CharacterNumber:=171, _
Font:="Symbol", Unicode:=False
' Range Example:
MyRange.Collapse Direction:=wdCollapseStart
MyRange.InsertSymbol CharacterNumber:=171, _
Font:="Symbol", Unicode:=False
End Sub
This example inserts text placed on the clipboard at the current position of the insertion point.
Sub PasteMethod()
Dim MyRange As Object
Set MyRange = Selection.Range
' Selection Example:
Selection.Paste
' Range Example:
MyRange.Collapse Direction:=wdCollapseStart
MyRange.Paste
End Sub
For information about how to do this in earlier versions of Word, please
see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q86079
TITLE : Inserting Macro Variable Contents into a Document Window
For more information about using the Range Object, from the Visual
Basic Editor, click the Office Assistant, type "Range Object,"
click Search, and then click to view "Range Object."
For more information about using the Selection Object, from the Visual Basic Editor, click the Office Assistant, type "Selection Object," click Search, and then click to view "Selection Object."
NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If the Assistant is not able to answer your query, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q176476
TITLE : OFF: Office Assistant Not Answering Visual Basic Questions
For additional information, please see the following article in the
Microsoft Knowledge Base:
ARTICLE-ID: Q181058
TITLE : OFF98: How to Run Sample Code from Knowledge Base Articles
For more information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q163435
TITLE : VBA: Programming Resources for Visual Basic for
Applications
Additional query words: wordcon vb vba vbe
Keywords : kbdta kbdtacode OffVBA kbmacroexample macword98
Version : MACINTOSH:98
Platform : MACINTOSH
Issue type : kbhowto
Last Reviewed: April 7, 1999