Trabalhar com o objeto Selection
Quando você trabalha em um documento no Word, geralmente seleciona texto e executa uma ação, como formatar o texto ou digitar texto. No Visual Basic, geralmente não é necessário selecionar texto antes de modificar o texto. Em vez disso, você cria um objeto Range que se refere a uma parte específica do documento. Para obter informações sobre como definir objetos Range, consulte Trabalhando com objetos Range. No entanto, quando você deseja que seu código responda ou altere uma seleção, você pode fazê-lo usando o objeto Selection .
Se o texto ainda não estiver selecionado, use o método Selecionar para selecionar o texto associado a um objeto específico e criar um objeto Selection . Por exemplo, a instrução seguinte seleciona a primeira palavra do documento ativo.
Sub SelectFirstWord()
ActiveDocument.Words(1).Select
End Sub
Para obter mais informações, consulte Selecionando texto em um documento. Se o texto já estiver selecionado, use a propriedade Selection para retornar um objeto Selection que representa a seleção atual em um documento. Só pode haver um objeto Selection por documento e ele sempre acessa a seleção atual. O exemplo a seguir altera a formatação dos parágrafos na seleção atual.
Sub FormatSelection()
Selection.Paragraphs.LeftIndent = InchesToPoints(0.5)
End Sub
Este exemplo insere a palavra "Hello" após a seleção atual.
Sub InsertTextAfterSelection()
Selection.InsertAfter Text:="Hello "
End Sub
Este exemplo aplica formatação negrito ao texto selecionado.
Sub BoldSelectedText()
Selection.Font.Bold = True
End Sub
O gravador de macro frequentemente cria uma macro que use o objeto Selection. O exemplo a seguir foi criado pelo uso do gravador de macro. Essa macro selecione as duas primeiras palavras do documento ativo e aplica formatação negrito a elas.
Sub Macro()
Selection.HomeKey Unit:=wdStory
Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend
Selection.Font.Bold = wdToggle
End Sub
O exemplo a seguir efetua a mesma tarefa sem a seleção do texto ou o uso do objeto Selection.
Sub WorkingWithRanges()
ActiveDocument.Range(Start:=0, _
End:=ActiveDocument.Words(2).End).Bold = True
End Sub
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.