WordVBA---处理 Selection 对象
在处理 Word 文档时,通常先要选择文本,然后再执行操作,例如设置文本的格式或键入文字。在 Visual Basic 中,它通常不需要在修改文本之前先行选择文本。取而代之的是, 需要创建一个引用文档的特定部分的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
本示例在当前选定内容后插入单词\。 Sub InsertTextAfterSelection()
Selection.InsertAfter Text:=\ End Sub
1 / 2
本示例对选定文本应用加粗格式。 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
2 / 2