Selection 对象
本对象代表一个窗格中的选定内容。该选定内容可以包括文档中的一个区域,也可以仅包括插入点。
注意 每个窗格中只能有一个 Selection 对象,而且只能激活一个 Selection 对象。
使用 Selection 对象
可用 Selection 属性返回 Selection 对象。下例层叠选定内容(如果需要)并将插入点移至当前行尾。
Selection.EndKey Unit:=wdLine, Extend:=wdMove
下例更新选定内容中的域。
If Selection.Fields.Count >= 1 Then Selection.Fields.Update
可用 Type 属性返回选定内容类型(例如,选定内容是一块内容还是一个插入点)。下例当选定内容为插入点时将选定内容变为当前段。
If Selection.Type = wdSelectionIP Then
Selection.Paragraphs(1).Range.Select
End If
可用 Information 属性返回有关选定内容的信息。下例当选定内容在表格中时显示该表格的行数和列数。
If Selection.Information(wdWithInTable) = True Then
MsgBox "Columns = " _
& Selection.Information(wdMaximumNumberOfColumns) _
& vbCr & "Rows = " _
& Selection.Information(wdMaximumNumberOfRows)
End If
可用 Select 方法选定文档中的一个项目。下例选定活动文档中的第一个书签并将其显示为红色。
If ActiveDocument.Bookmarks.Count >= 1 Then
ActiveDocument.Bookmarks(1).Select
Selection.Font.ColorIndex = wdRed
End If
Selection 对象还包括了几种用于扩展或移动当前选定内容的方法。例如,可以将 MoveDown 方法的 Extend 参数设为 wdExtend。下例在活动窗口中选定接下的三段。
With Selection
.StartOf Unit:=wdParagraph, Extend:=wdMove
.MoveDown Unit:=wdParagraph, Count:=3, Extend:=wdExtend
End With
说明
可用 Range 属性从 Selection 对象返回一个 Range 对象。下例将变量 myRange 定义为所选范围。
Set myRange = Selection.Range
记录宏时,宏记录器经常将变化记录到 Selection 对象。下列宏将文档的起始两个词设为加粗格式,并新添一段。
Selection.HomeKey Unit:=wdStory
Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend
Selection.Font.Bold = wdToggle
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.TypeParagraph
下例完成与上例相同的操作,但不使用 Selection 对象。
Set myRange = ActiveDocument.Range(Start:=0, _
End:=ActiveDocument.Words(2).End)
myRange.Bold = True
myRange.InsertParagraphAfter
每个窗格中只能有一个 Selection 对象;但在一个文档中可以有多个 Range 对象。一个 Range 对象代表了文档中一个已选定或未选定的范围。用 Range 对象可很方便地进行文档操作。详细内容,请参阅处理 Range 对象。