0% found this document useful (0 votes)
171 views8 pages

VBA Word

The document discusses the Selection object in Microsoft Word VBA. It provides examples of how to use various Selection object properties and methods to manipulate text selections, including copying, cutting, pasting, and formatting selected text. Methods like MoveStart, MoveEnd, Expand, and Collapse allow changing the start or end of a selection. Properties like Type, Flags and Information provide information about the current selection. The Selection object allows programmatically selecting and editing text in Word documents.

Uploaded by

Hua Tien Dung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views8 pages

VBA Word

The document discusses the Selection object in Microsoft Word VBA. It provides examples of how to use various Selection object properties and methods to manipulate text selections, including copying, cutting, pasting, and formatting selected text. Methods like MoveStart, MoveEnd, Expand, and Collapse allow changing the start or end of a selection. Properties like Type, Flags and Information provide information about the current selection. The Selection object allows programmatically selecting and editing text in Word documents.

Uploaded by

Hua Tien Dung
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

VBA Word

Selection Object

Use the Selection property to return the Selection object. If no object qualifier is used with
the Selection property, Microsoft Word returns the selection from the active pane of the active
document window. The following example copies the current selection from the active
document.
Selection.Copy

The following example deletes the selection from the third document in
the Documents collection. The document does not have to be active to access its current
selection.
Documents(3).ActiveWindow.Selection.Cut

The following example copies the selection from the first pane of the active document and
pastes it into the second pane.
ActiveDocument.ActiveWindow.Panes(1).Selection.Copy
ActiveDocument.ActiveWindow.Panes(2).Selection.Paste

The Text property is the default property of the Selection object. Use this property to set or
return the text in the current selection. The following example assigns the text in the current
selection to the variable strTemp, removing the last character if it is a paragraph mark.
Dim strTemp as String

strTemp = Selection.Text
If Right(strTemp, 1) = vbCr Then _
strTemp = Left(strTemp, Len(strTemp) - 1)

The Selection object has various methods and properties with which you can collapse, expand,
or otherwise change the current selection. The following example moves the insertion point to
the end of the document and selects the last three lines.
Selection.EndOf Unit:=wdStory, Extend:=wdMove
Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=2, Extend:=wdExtend

The Selection object has various methods and properties with which you can edit selected text
in a document. The following example selects the first sentence in the active document and
replaces it with a new paragraph.
Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "Material below is confidential."
Selection.TypeParagraph

The following example deletes the last paragraph of the first document in
the Documents collection and pastes it at the beginning of the second document.
With Documents(1)
.Paragraphs.Last.Range.Select
.ActiveWindow.Selection.Cut
End With

With Documents(2).ActiveWindow.Selection
.StartOf Unit:=wdStory, Extend:=wdMove
.Paste
End With

The Selection object has various methods and properties with which you can change the
formatting of the current selection. The following example changes the font of the current
selection from Times New Roman to Tahoma.
If Selection.Font.Name = "Times New Roman" Then _
Selection.Font.Name = "Tahoma"

Use properties like Flags, Information, and Type to return information about the current
selection. You can use the following example in a procedure to determine whether there is
anything selected in the active document; if there is not, the rest of the procedure is skipped.
If Selection.Type = wdSelectionIP Then
MsgBox Prompt:="You have not selected any text! Exiting procedure..."
Exit Sub
End If
Even when a selection is collapsed to an insertion point, it is not necessarily empty. For example,
the Text property will still return the character to the right of the insertion point; this character
also appears in the Characters collection of the Selection object. However, calling methods
like Cut or Copy from a collapsed selection causes an error.
It is possible for the user to select a region in a document that does not represent contiguous
text (for example, when using the Alt key with the mouse). Because the behavior of such a
selection can be unpredictable, you may want to include a step in your code that checks
the Type property of a selection before performing any operations on it (Selection.Type =
wdSelectionBlock).
Similarly, selections that include table cells can also lead to unpredictable behavior.
The Information property will tell you if a selection is inside a table
(Selection.Information(wdWithinTable) = True). The following example determines if a selection
is normal (for example, it is not a row or column in a table, it is not a vertical block of text); you
could use it to test the current selection before performing any operations on it.
If Selection.Type <> wdSelectionNormal Then
MsgBox Prompt:="Not a valid selection! Exiting procedure..."
Exit Sub
End If

Because Range objects share many of the same methods and properties as Selection objects,
using Range objects is preferable for manipulating a document when there is not a reason to
physically change the current selection. For more information
about Selection and Range objects, see Working with the Selection object and Working with
Range objects.

Methods
 BoldRun
 Calculate
 ClearCharacterAllFormatting
 ClearCharacterDirectFormatting
 ClearCharacterStyle
 ClearFormatting
 ClearParagraphAllFormatting
 ClearParagraphDirectFormatting
 ClearParagraphStyle
 Collapse
 ConvertToTable
 Copy
 CopyAsPicture
 CopyFormat
 CreateAutoTextEntry
 CreateTextbox
 Cut
 Delete
 DetectLanguage
 EndKey
 EndOf
 EscapeKey
 Expand
 ExportAsFixedFormat
 ExportAsFixedFormat2
 Extend
 GoTo
 GoToEditableRange
 GoToNext
 GoToPrevious
 HomeKey
 InRange
 InsertAfter
 InsertBefore
 InsertBreak
 InsertCaption
 InsertCells
 InsertColumns
 InsertColumnsRight
 InsertCrossReference
 InsertDateTime
 InsertFile
 InsertFormula
 InsertNewPage
 InsertParagraph
 InsertParagraphAfter
 InsertParagraphBefore
 InsertRows
 InsertRowsAbove
 InsertRowsBelow
 InsertStyleSeparator
 InsertSymbol
 InsertXML
 InStory
 IsEqual
 ItalicRun
 LtrPara
 LtrRun
 Move
 MoveDown
 MoveEnd
 MoveEndUntil
 MoveEndWhile
 MoveLeft
 MoveRight
 MoveStart
 MoveStartUntil
 MoveStartWhile
 MoveUntil
 MoveUp
 MoveWhile
 Next
 NextField
 NextRevision
 NextSubdocument
 Paste
 PasteAndFormat
 PasteAppendTable
 PasteAsNestedTable
 PasteExcelTable
 PasteFormat
 PasteSpecial
 Previous
 PreviousField
 PreviousRevision
 PreviousSubdocument
 ReadingModeGrowFont
 ReadingModeShrinkFont
 RtlPara
 RtlRun
 Select
 SelectCell
 SelectColumn
 SelectCurrentAlignment
 SelectCurrentColor
 SelectCurrentFont
 SelectCurrentIndent
 SelectCurrentSpacing
 SelectCurrentTabs
 SelectRow
 SetRange
 Shrink
 ShrinkDiscontiguousSelection
 Sort
 SortAscending
 SortByHeadings
 SortDescending
 SplitTable
 StartOf
 ToggleCharacterCode
 TypeBackspace
 TypeParagraph
 TypeText
 WholeStory
Properties
 Active
 Application
 BookmarkID
 Bookmarks
 Borders
 Cells
 Characters
 ChildShapeRange
 Columns
 ColumnSelectMode
 Comments
 Creator
 Document
 Editors
 End
 EndnoteOptions
 Endnotes
 EnhMetaFileBits
 ExtendMode
 Fields
 Find
 FitTextWidth
 Flags
 Font
 FootnoteOptions
 Footnotes
 FormattedText
 FormFields
 Frames
 HasChildShapeRange
 HeaderFooter
 HTMLDivisions
 Hyperlinks
 Information
 InlineShapes
 IPAtEndOfLine
 IsEndOfRowMark
 LanguageDetected
 LanguageID
 LanguageIDFarEast
 LanguageIDOther
 NoProofing
 OMaths
 Orientation
 PageSetup
 ParagraphFormat
 Paragraphs
 Parent
 PreviousBookmarkID
 Range
 Rows
 Sections
 Sentences
 Shading
 ShapeRange
 Start
 StartIsActive
 StoryLength
 StoryType
 Style
 Tables
 Text
 TopLevelTables
 Type
 WordOpenXML
 Words
 XML

MoveStart Method

This example moves the start position of the selection one character forward (the selection size
is reduced by one character). Note that a space is considered a character.
Selection.MoveStart Unit:=wdCharacter, Count:=1

This example moves the start position of the selection to the beginning of the line (the selection
is extended to the start of the line).
Selection.MoveStart Unit:=wdLine, Count:=-1
https://docs.microsoft.com/en-us/office/vba/api/word.selection

http://www.zhongwen.com/

You might also like