处理 Selection 对象

在 Word 中处理文档时,通常选择文本,然后执行操作,例如设置文本格式或键入文本。 在 Visual Basic 中,修改文本之前通常不需要选择文本。 有关定义 Range 对象的信息,请参阅处理 Range 对象。 有关定义 Range 对象的信息,请参阅 使用 Range 对象。 但是,当希望代码响应或更改所选内容时,可以使用 Selection 对象执行此操作。

如果尚未选择文本,请使用 Select 方法选择与特定对象关联的文本,并创建 Selection 对象。 例如,下面的指令选定活动文档中的第一个单词。

Sub SelectFirstWord() 
 ActiveDocument.Words(1).Select 
End Sub

有关详细信息,请参阅在文档中选定文本。 如果已选择文本,请使用 Selection 属性返回一个 Selection 对象,该对象代表文档中的当前选定内容。 每个文档只能有一个 Selection 对象,该对象始终访问当前选定内容。 下面的示例更改当前选定内容中段落的格式。

Sub FormatSelection() 
 Selection.Paragraphs.LeftIndent = InchesToPoints(0.5) 
End Sub

本示例在当前选定内容后插入单词"Hello"。

Sub InsertTextAfterSelection() 
 Selection.InsertAfter Text:="Hello " 
End Sub

本示例对选定文本应用加粗格式。

Sub BoldSelectedText() 
 Selection.Font.Bold = True 
End Sub

宏录制器经常会创建使用 Selection 对象的宏。 下面的示例是使用宏录制器创建的。 该宏选择活动文档中的前两个单词并对其应用加粗格式。

Sub Macro() 
 Selection.HomeKey Unit:=wdStory 
 Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend 
 Selection.Font.Bold = wdToggle 
End Sub

下面的示例完成相同的任务,但不选择文本,也不使用 Selection 对象。

Sub WorkingWithRanges() 
 ActiveDocument.Range(Start:=0, _ 
 End:=ActiveDocument.Words(2).End).Bold = True 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。