Objeto Selection (Word)
Representa a seleção atual em uma janela ou um painel. Uma seleção representa uma área selecionada (ou realçada) no documento, ou representa o ponto de inserção se nada no documento estiver selecionado. Pode haver apenas um Selection por painel de janela de documento e apenas um objeto Selection pode estar ativo em todo o aplicativo.
Importante
Este método foi alterado. Usando comandos de seleção VBA como Selection.BoldRun
na seleção do usuário com Comentários não se aplica mais a formatação em negrito no texto selecionado pelo usuário ou comando Selection.TypeTxt
ou na seleção do usuário com Comentários não insere mais texto.
Comentários
Use a propriedade Selection para retornar o objeto Selection. Se nenhum qualificador de objeto for usado com a propriedade Selection, o Microsoft Word retornará a seleção do painel ativo da janela do documento ativo. O exemplo a seguir copia a seleção atual do documento ativo.
Selection.Copy
O exemplo a seguir exclui a seleção do terceiro documento na coleção Documents. O documento não precisa estar ativo para acessar sua seleção atual.
Documents(3).ActiveWindow.Selection.Cut
O exemplo a seguir copia a seleção do primeiro painel do documento ativo e o cola no segundo painel.
ActiveDocument.ActiveWindow.Panes(1).Selection.Copy
ActiveDocument.ActiveWindow.Panes(2).Selection.Paste
A propriedade Text é a propriedade padrão do objeto Selection. Use essa propriedade para definir ou retornar o texto na seleção atual. O exemplo a seguir atribui o texto na seleção atual à variável strTemp
, removendo o último caractere se ele for uma marca de parágrafo.
Dim strTemp as String
strTemp = Selection.Text
If Right(strTemp, 1) = vbCr Then _
strTemp = Left(strTemp, Len(strTemp) - 1)
O objeto Selection tem vários métodos e propriedades com os quais você pode recolher, expandir ou alterar a seleção atual. O exemplo a seguir move o ponto de inserção até o final do documento e seleciona a última três linhas.
Selection.EndOf Unit:=wdStory, Extend:=wdMove
Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=2, Extend:=wdExtend
O objeto Selection tem vários métodos e propriedades com os quais você pode editar o texto selecionado em um documento. O exemplo a seguir seleciona a primeira sentença no documento ativo e a substitui por um novo parágrafo.
Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "Material below is confidential."
Selection.TypeParagraph
O exemplo a seguir exclui o último parágrafo do primeiro documento da coleção Documents e o cola no início do segundo documento.
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
O objeto Selection objeto tem vários métodos e propriedades com os quais você pode alterar a formatação da seleção atual. O exemplo a seguir altera a fonte da seleção atual de Times New Roman para Tahoma.
If Selection.Font.Name = "Times New Roman" Then _
Selection.Font.Name = "Tahoma"
Use propriedades como Sinalizadores, Informação e Tipo para retornar informações sobre a seleção atual. Você pode usar o exemplo a seguir em um procedimento para determinar se há algo selecionado no documento ativo. Se não houver, o restante do procedimento será ignorado.
If Selection.Type = wdSelectionIP Then
MsgBox Prompt:="You have not selected any text! Exiting procedure..."
Exit Sub
End If
Mesmo quando uma seleção é recolhida para um ponto de inserção, ela não está necessariamente vazia. Por exemplo, a propriedade Text ainda retornará o caractere à direita do ponto de inserção; esse caractere também aparece na coleção Characters do objeto Selection. No entanto, chamar métodos como Cut ou Copy de uma seleção recolhida causa um erro.
É possível que o usuário selecione uma região em um documento que não represente texto contíguo (por exemplo, ao usar a tecla Alt com o mouse). Como o comportamento dessa seleção pode ser imprevisível, convém incluir uma etapa no código que verifique a propriedade Tipo de uma seleção antes de executar qualquer operação nela (Selection.Type = wdSelectionBlock
).
Da mesma forma, as seleções que incluem células da tabela também podem levar a um comportamento imprevisível. A propriedade Informação informará se uma seleção está dentro de uma tabela (Selection.Information(wdWithinTable) = True
). O exemplo a seguir determina se uma seleção é normal (por exemplo, não é uma linha ou uma coluna em uma tabela, não é um bloco vertical de texto); você pode usá-lo para testar a seleção atual antes de executar quaisquer operações nela.
If Selection.Type <> wdSelectionNormal Then
MsgBox Prompt:="Not a valid selection! Exiting procedure..."
Exit Sub
End If
Como os objetos Range compartilham muitos dos mesmos métodos e propriedades como objetos Selection, será melhor utilizar objetos Range para manipular um documento quando não houver um motivo para alterar fisicamente a seleção atual. Para saber mais sobre os objetos Selection e Range, confira Trabalhar com o objeto Selection e Trabalhar com objetos Range.
Métodos
- BoldRun
- Calculate
- ClearCharacterAllFormatting
- ClearCharacterDirectFormatting
- ClearCharacterStyle
- ClearFormatting
- ClearParagraphAllFormatting
- ClearParagraphDirectFormatting
- ClearParagraphStyle
- Collapse
- ConvertToTable
- Copiar
- 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
Propriedades
- Active
- Application
- BookmarkID
- Bookmarks
- Borders
- Células
- 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
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.