文档的一项。在使用Select方法之后,就可以使用Selection属性返回一个Selection对象。以下的示例选定了活动文档中的第一个单词,然后把该单词变为“Hello”。
ActiveDocument. Words(1). Select Selection. Text = \
用户也可以通过GoToNext方法、GoToPrevious方法或GoTo方法来移动选定内容。以下的示例将选定内容移动到文档中的第四行。
Selection. GoTo What :=wdGoToLine, Which :=wdGoToAbsolute, Count :=4
以下的示例将选定内容恰好移动到活动文档中的下一个域之前。 Selection. GoToNext What :=wdGoToField 在Selection对象使用的对象
可以在Range对象和Document对象中使用的许多其他对象也能在Selection对象中使用,这使得用户可以在一个选定内容中控制操纵对象。要获得能在Selection对象使用的对象的完整列表,请参阅“帮助”中的“Microsoft Word 对象(Selection)”,或者“Selection对象”。
以下的示例更新了选定内容中各个域的结果。
If Selection. Fields. Count >= 1 Then Selection. Fields. Update
以下的示例将一节中的各个段落缩进了0.5英寸。
Selection. Paragraphs. LeftIndent = InchesToPoints (0.5)
用户可以使用For Each...Next语句在选定内容中的单个对象上进行循环操作,来代替对选定内容中的所有对象逐个进行控制操纵。以下的示例在选定内容的每个段落上进行循环操作,将找到的任何居中的段落变为左对齐。
For Each para In Selection. Paragraphs
If para. Alignment = wdAlignParagraphCenter Then para. Alignment = _
wdAlignParagraphLeft Next para
以下的示例显示出选定内容中每个书签的名字。 For Each aBook In Selection. Bookmarks MsgBox aBook. Name Next aBook
Selection对象的属性和方法
本节突出介绍Selection对象的一些常用属性和方法。 返回或设置选定内容中的文字
可以使用Text属性来返回或设置一个Selection对象的内容。以下的示例返回所选的文字。
strText = Selection. Text
以下的示例将所选文字改为“Hello World”。 Selection. Text = \
可以InsertBefore 方法或InsertBefore方法,在选定内容之
前或之后插入文字。以下的示例在选定内容之前插入了文字。
Selection. InsertBefore Text :=\为许多文字设定格式
可以使用Font属性来访问设置字符格式的属性和方法,也可以使用ParagraphFormat属性来访问设置段落格式的属性和方法。以下的示例设置了选定内容的字符和段落格式。
With Selection. Font .Name = \.Size = 14 End With
Selection.ParagraphFormat.LeftIndent=InchesToPoints(0.5)
返回一个Range对象
如果一种方法或属性是在Range对象而不是Selection对象中使用的(例如,CheckSpelling方法),那么可以使用Range属性来从Selection对象返回一个Range对象。以下的示例对所选单词进行拼写检查。
Selection. Range. CheckSpelling 返回关于选定内容的信息
可以使用Information属性来返回关于选定内容的信息。例如,用户可以判断当前页的页码、文档的总页数,或是判断选定内容是否在一个页眉或注脚中。Information属性可取三十五种不同的常量(wdActiveEndPageNumber,
wdNumberOfPagesInDocument
和
wdInHeaderFooter等等),用户可以使用它们来返回关于选定内容的不同信息。举个例子,如果选定内容处于一张表格中,那么以下的示例将显示表格中的行号或列号。
If Selection. Information (wdWithInTable) = True Then MsgBox \= \& Selection. Information (wdMaximumNumberOfColumns) _
& vbCr & \= \& Selection. Information (wdMaximumNumberOfRows)
End If
要获得可以随Information属性一起使用的常量的完整列表和说明,请参阅“帮助”中的“Information属性”。
判断文字是否被选定
可以使用Type属性来设置或返回选定内容在文档中被指定的方式。例如,可以使用wdSelectionBlock常量来判断一个文字块是否被选定。如果选定内容是一个插入点,那么以下的示例选定包含该插入点的段落。
If Selection. Type = wdSelectionIP Then Selection. Paragraphs(1). Range. Select End If
运用Find和Replacement对象
可以使用Find和Replacement对象来查找并且替换文档中文字
的特定范围。Find对象可以在Selection对象或Range对象中使用(根据Find对象是从Selection对象还是从Range对象返回的,查找操作也略有不同)。
使用Selection.Find
如果是在Selection对象中使用Find对象,那么当找到符合选择条件的文本后选定内容将会改变。以下的示例选定下一次出现的单词“Hello”。如果在找到单词“Hello”之前已经到达了文档的末尾,那么停止搜索。
With Selection. Find .Forward = True .Wrap = wdFindStop .Text = \.Execute End With
Find对象包含与“查找”和“替换”对话框(在“编辑”菜单中)里的选项有关的属性。用户既可对Find对象的属性逐一进行设置,也可以随同Execute方法使用参数来进行设置,如果以下示例所示。
Selection.
Find.
Execute
FindText
:=\
Forward :=True, Wrap :=wdFindStop
使用Range.Find
如果是在Range对象中使用Find对象,选定内容不会改变,但是当找到符合选择条件的文本时范围会被重新定义。以下的示例确定