Selection Object

The Selection object represents the current selection in a window or pane.
The current selection is either the area that is currently highlighted or if nothing is highlighted then it represents the insertion point.
There can only be one Selection object per window (or pane) and there is only ever one selection that is currently active.


Creating a Selection Object

You can use the Pane object from the active Window object to return the current selection at any time.
The Selection object can only be returned from either an Application, Pane and Window object.

Dim objSelection As Selection 
Set objSelection = Application.ActiveWindow.ActivePane.Selection
Set objSelection = Application.ActiveWindow.Selection
Set objSelection = Application.Selection
Set objSelection = ActiveWindow.Selection
Set objSelection = ActiveWindow.Panes(1).Selection
Set objSelection = ActivePane.Selection
Set objSelection = Selection
Set objSelection = ActiveDocument.ActiveWindow.Selection

Important Differences

The Range and Selection objects refer to a continuous area within a document.
The Range and Selection objects are very similar but have some important differences:
1) There can only be one Selection object per window (or pane), but there can be many range objects
2) The active selection is always highlighted, whereas the range object is not visible unless selected.
The Selection object shares a lot of the same properties and methods as the Range object.


Redefining a Selection Object

You can use the SetRange method to redefine an existing Selection object
The following example defines a selection object to the be equal to the current selection and then redefines it to refer to the current selection plus the next 10 characters.

Dim objSelection As Selection 
Set objSelection = ActiveWindow.Selection
objSelection.SetRange(Start:=objRange.Start, _
                      End:=objRange.End+10)

Using the Selection Object

You should always check the Type of the Selection object to make sure that it is sensible.
It is possible for the user to select a vertical block of text that does not have to be represent contiguous text. This can be done by holding down the alt key and dragging with the mouse.

If (Selection.Type <> wdSelectionType.wdSelectionNormal) Then 
   Call MsgBox("This is not a valid selection")
End If

Default Property (Text)

The Text property is the default property for a Selection object.

ActiveWindow.Selection.Text 
ActiveWindow.Selection

Identifying a Selection Object

You can use the Type property to help return information about the current selection

ActiveWindow.Selection.Type = wdSelectionType.wdSelectionNormal 

You can use the Flags property to


You can use the Information property to


Selection Object - Properties

BookmarkIDReturns the number of the bookmark that encloses the beginning of the specified selection or range; returns 0 (zero) if there's no corresponding bookmark. (Long)
BookmarksReturns a Bookmarks collection that represents all the bookmarks in the range Read-only.
BordersReturns a Borders collection that represents all the borders for the specified object.
CaseReturns or sets a WdCharacterCase constant that represents the case of the text in the range.
CharactersReturns a Characters collection that represents the characters in the range.
CombinedCharactersReturns True or False indicating if the range contains combined characters.
CommentsReturns a Comments collection that represents all the comments in the range.
DocumentReturns a Document object associated with the specified pane, window, or selection.
DuplicateReturns a duplicate range object representing all the properties from this range.
EditorsReturns an Editors object that represents all the users authorized to modify this range.
EndReturns or sets the ending character position of the range. Read Only (Long)
EndnoteOptionsReturns an EndnoteOptions object that represents the endnotes in the range.
EndNotesReturns an Endnotes collection that represents all the endnotes in the range. Read-only.
ExtendMode 
FieldsReturns Fields collection that represents all the fields in the range. Read Only
FindReturns a Find object that contains the criteria for a find operation. Read-only
FitTextWidthReturns or sets the width (in the current measurement units) in which Microsoft Word fits the text in the current range. (Single).
Flags 
FontReturns or sets a Font object that represents the character formatting of the range.
FootnoteOptionsReturns FootnoteOptions object that represents the footnotes in the range.
FootnotesReturns a Footnotes collection that represents all the footnotes in the range. Read-only.
FormattedTextReturns or sets a Range object that includes the formatted text in the range.
FormFieldsReturns a FormFields collection that represents all the form fields in the range. Read-only.
FramesReturns a Frames collection that represents all the frames in the range. Read-only
GrammarCheckedReturns True or False indicating if a grammar check has been run on the range. False is returned if some of the specified range or document hasn't been checked for grammar.
GrammaticalErrorsReturns a ProofreadingErrors collection that represents the sentences that failed the grammar check on the range. There can be more than one error per sentence. Read-only.
HasChildShapeRange 
HeaderFooter 
HighlightColorIndexReturns or sets the highlight color for the range. (WdColorIndex).
HorizontalInVerticalReturns or sets the formatting for horizontal text set within vertical text. (wdHorizontalInVerticalType).
HTMLDivisionsReturns an HTMLDivisions object that represents an HTML division in a Web document.
HyperlinksReturns a Hyperlinks collection that represents all the hyperlinks in the range. Read-only.
IDCan be used to define hyperlinks in a document ??
InformationReturns information about the specified selection or range. Read-only Variant.
InlineShapesReturns an InlineShapes collection that represents all the InlineShape objects in the range. Read-only.
IsEndOfRowMarkReturns True or False indicating if the range is collapsed and is located at the end-of-row mark in a table. Read-only.
LanguageIDReturns or sets the language for the range.
ListFormatReturns a ListFormat object that represents all the list formatting characteristics of the range. Read-only.
ListParagraphsReturns a ListParagraphs collection that represents all the numbered paragraphs in the range. Read-only.
NextStroyRangeReturns a Range object that refers to the next story, as shown in the following table. Parameter is from wdStoryType
NoProofingTrue if the spelling and grammar checker ignores the specified text. Returns wdUndefined if the NoProofing property is set to True for only some of the specified text. (Long)
OrientationReturns or sets the orientation of text in a range when the Text Direction feature is enabled. WdTextOrientation.
PageSetupReturns a PageSetup object that's associated with the specified range. Read-only.
ParagraphFormatReturns or sets a ParagraphFormat object that represents the paragraph settings for the range
ParagraphsReturns a Paragraphs collection that represents all the paragraphs in the range. Read-only.
PreviousBookmarkIDReturns the number of the last bookmark that starts before or at the same place as the specified selection or range; returns 0 (zero) if there's no corresponding bookmark. Read-only Long.
Range 
ReadabilityStatisticsReturns a ReadabilityStatistics collection that represents the readability statistics for the range. Read-only.
RevisionsReturns a Revisions collection that represents the tracked changes in the range. Read-only.
ScriptsReturns a Scripts collection that represents the collection of HTML scripts in the specified object.
SectionsReturns a Sections collection that represents the sections in the range. Read-only.
SentencesReturns a Sentences collection that represents all the sentences in the range. Read-only.
ShadingReturns a Shading object that refers to the shading formatting for the specified object.
ShapeRangeReturns a ShapeRange collection that represents all the Shape objects in the specified range or selection. The shape range can contain drawings, shapes, pictures, OLE objects, ActiveX controls, text objects, and callouts. Read-only.
ShowAllTrue if all nonprinting characters (such as hidden text, tab marks, space marks, and paragraph marks) are displayed. Read/write Boolean.
SmartTagsReturns a SmartTags object that represents a smart tag in a document
SpellingCheckedTrue if spelling has been checked throughout the specified range or document. False if all or some of the range or document hasn't been checked for spelling. Boolean
SpellingErrorsReturns a ProofreadingErrors collection that represents the words identified as spelling errors in the specified document or range. Read-only.
StartReturns or sets the starting character position of a selection, range, or bookmark. Long.
StartIsActive 
StoryLengthReturns the number of characters in the story that contains the specified range or selection. Read-only (Long)
StoryTypeReturns the story type for the specified range, selection, or bookmark. Read-only WdStoryType.
StyleReturns or sets the style for the specified object. To set this property, specify the local name of the style, an integer, a WdBuiltinStyle constant, or an object that represents the style. For a list of valid constants, consult the Microsoft Visual Basic Object Browser. Read/write Variant.
SubdocumentsReturns a Subdocuments collection that represents all the subdocuments in the specified range or document. Read-only.
SynonymInfoReturns a SynonymInfo object that contains information from the thesaurus on synonyms, antonyms, or related words and expressions for the specified word or phrase
TextReturns or sets the text in the range. (String).
TextRetrievalModeReturns a TextRetrievalMode object that controls how text is retrieved from the specified Range. Read/write.
TwoLinesInOneReturns or sets whether Microsoft Word sets two lines of text in one and specifies the characters that enclose the text, if any. Read/write WdTwoLinesInOneType.
Type 
WordsReturns a Words collection that represents all the words in a range, selection, or document. Read-only. Note Punctuation and paragraph marks in a document are included in the Words collection.
XMLReturns a String that represents the XML text in the specified object.
XMLNodesReturns an XMLNodes collection that represents the collection of all XML elements within a document or in a selection or range - including those elements that are only partially within the selection or range.
XMLParentNodeReturns an XMLNode object that represents the parent node of a range.

Selection Object - Methods

BoldRunReturns True, False or wdUndefined (a mixture of True and False). Can be set to True, False, or wdToggle.
ItalicRunReturns True or False or wdUndefined indicating if the range is formatted in italic. (Long)
Move 
MoveDown 
MoveEnd 
MoveEndUntil 
MoveEndWhile 
MoveLeft 
MoveRight 
MoveStart 
MoveStartUntil 
MoveStartWhile 
MoveUntil 
MoveUp 
MoveWhile 
Next 
Previous 
UnderlineRunReturns or sets the type of underline applied to the font or range. Read/write WdUnderline

© 2024 Better Solutions Limited. All Rights Reserved. © 2024 Better Solutions Limited TopPrevNext