荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Jobs (温少), 信区: Visual
标 题: Microsoft Word 对象--运用Selection对象
发信站: BBS 荔园晨风站 (Sun Jan 16 18:10:22 2000), 转信
运用Selection对象
当用户使用Word中的某个文档时,通常会先选择文字,然后再执行一项操作,比
如设定以有文字的格式,或是键入新文字。在Visual Basic中,通常没有必要在
修改文字之前先选定该文字;而是创建一个表示文档特定部分的Range对象并对其
进行操作。但是,当用户想要自己的代码对选定内容作出响应或是改变选定内容
,就可以通过Selection对象来完成任务。
可以使用Selection属性来返回Selection对象。在文档窗口的每个窗格中只能有
一个Selection对象,在任何时刻,也只能有一个活动的Selection对象。选定内
容可以包含文档的一块区域,也可以被折叠到一个插入点。以下的示例改变了选
定内容中各个段的段落格式。
Selection. Paragraphs. SpaceBefore = InchesToPoints (0.25)
Selection属性可以在Application对象、Window对象和Pane对象中使用。如果随
同Application对象使用Selection属性,则该Selection对象表示活动的选定内容
。
Selection. InsertAfter Text :="Next Text"
也可以随同一个Window对象或Pane对象使用Selection属性来返回一个在特定窗口
或窗口窗格中Selection对象。以下的示例随同Window对象使用Selection属性,
在文档窗口“Document2”中插入文字。
Windows ("Document2"). Selection.InsertAfter Text :="New Text"
以下的示例随同Pane对象使用Selection属性,在主页眉窗格中插入文字。
With ActiveWindow
.View. Type = wdPageView
.View. SeekView = wdSeekPrimaryHeader
.ActivePane. Selection. InsertAfter Text :="Header"
End With
在使用InsertAfter方法或InsertBefore方法之后,选定内容随之扩大,包括了新
的文字。但是,用户也可以使用Collapse方法将选定内容折叠到它的起始或终止
位置。以下的示例在选定内容的文字之后插入单词“Hello”,任何将选定内容折
叠到单词“Hello”之后的插入点。
Selection. InsertAfter Text :="Hello"
Selection. Collapse Direction :=wdCollapseEnd
移动和扩展选定内容
用户可以通过几种方法来移动或扩展由Selection对象所表示的选定内容(例如,
Move和MoveEnd)。以下的示例将选定内容移动到下一段的开头。
Selection. MoveDown Unit :=wdParagraph, Count :=1, Extend :=wdMove
用户也可以通过改变Selection对象的Start属性及End属性的值,或者通过
MoveStart和MoveEnd方法来移动或扩展选定内容。以下的示例通过把终止位置移
动到段尾来对选定内容进行扩展。
Selection. MoveEnd Unit :=wdParagraph, Count :=1
因为在一个文档窗口或窗格中只能有一个选定内容,用户也可以通过选定另一个
对象来移动选定内容。可以使用Select方法,选择文档的一项。在使用Select方
法之后,就可以使用Selection属性返回一个Selection对象。以下的示例选定了
活动文档中的第一个单词,然后把该单词变为“Hello”。
ActiveDocument. Words(1). Select
Selection. Text = "Hello "
用户也可以通过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 = "Hello World"
可以InsertBefore 方法或InsertBefore方法,在选定内容之前或之后插入文字。
以下的示例在选定内容之前插入了文字。
Selection. InsertBefore Text :="And furthermore "
为许多文字设定格式
可以使用Font属性来访问设置字符格式的属性和方法,也可以使用
ParagraphFormat属性来访问设置段落格式的属性和方法。以下的示例设置了选定
内容的字符和段落格式。
With Selection. Font
.Name = "Times New Roman"
.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 "Columns = " & Selection. Information (wdMaximumNumberOfColumns) _
& vbCr & "Rows = " & Selection. Information (wdMaximumNumberOfRows)
End If
要获得可以随Information属性一起使用的常量的完整列表和说明,请参阅“帮助
”中的“Information属性”。
判断文字是否被选定
可以使用Type属性来设置或返回选定内容在文档中被指定的方式。例如,可以使
用wdSelectionBlock常量来判断一个文字块是否被选定。如果选定内容是一个插
入点,那么以下的示例选定包含该插入点的段落。
If Selection. Type = wdSelectionIP Then
Selection. Paragraphs(1). Range. Select
End If
--
好好学习,天天向上!!!!
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.11.111]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店