量。在以下示例中,变量Range1和变量Range2都表示Range对象。在该示例中命令把活动文档中第一和第二个单词分别赋值给变量Range1和Range2。
Set Range1 = ActiveDocument. Words(1) Set Range2 = ActiveDocument. Words(2)
设置一个Range对象变量等价于另一个Range对象变量 以下的示例创建变量Range2,并且与Range1相同。 Set Range2 = Range1
现在就有两个变量表示着同样的范围。当用户调整Range2的起始位置、终止位置或者文字时,所做的更改也同样会影响到Range1,反之亦然。
以下的示例将Range1默认属性 (Text属性)的值赋给Range2的默认属性。在此示例中的代码等价于Range2. Text = Range1. Text,它没有改变Range对象实际所表示的内容,它仅仅改变Range2的contents (text)。
Range2 = Range1
这两个范围(Range2和Range1)包含有相同的内容,但是它们可能指向文档中的不同位置,或者干脆是不同的文档。
使用Duplicate属性
以下的示例创建了一个新复制的Range对象,Range2,该对象有着和Range1一样的起始位置、终止位置以及文字内容。
Set Range2 = Range1. Duplicate
如果改变了Range1的起始位置或是终止位置,这种改变并不会影响到Range2,反之亦然。但是,因为这两个范围指向文档的相同位置,改变一个范围中的文字内容也会同时改变另一个范围的文字内容。
运用文档构成部分
一个文档构成部分是文档中的一个区域,该区域中的文字区别于文档中的其他区域。例如,如果一个文档包含了正文文字、脚注和页眉,则该文档就包含了文档正文部分、脚注部分和页眉部分。
可以使用StoryType属性来返回指定范围、选定内容或书签的文档构成部分。如果在脚注部分中包含了选定内容,那么下例将关闭活动窗口中的脚注窗格。
ActiveWindow. View. Type = wdNormalView
If Selection. StoryType = wdFootnotesStory Then ActiveWindow. ActivePane. Close
StoryRanges集合包含了一个文档中每种有效的文档构成部分类型的第一个过程部分范围。可以使用NextStoryRange方法来返回以后的文档构成部分。以下的示例搜索活动文档中的每个文档过程部分来找出文字“Microsoft Word”。该示例也将它每次找到的文字全部设置为斜体。
For Each myStoryRange In ActiveDocument. StoryRanges myStoryRange. Find. Execute FindText :=\Forward :=True
While myStoryRange. Find. Found myStoryRange. Italic = True
myStoryRange. Find.Execute FindText :=\Word\_ Forward :=True, Format :=True Wend
While Not (myStoryRange. NextStoryRange Is Nothing) Set myStoryRange = myStoryRange. NextStoryRange
myStoryRange. Find.Execute FindText :=\Forward :=True
While myStoryRange. Find. Found myStoryRange. Italic = True
myStoryRange. Find.Execute FindText :=\Word\_ Forward :=True, Format :=True Wend Wend
Next myStoryRange
运用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 :=\
也可以随同一个Window对象或Pane对象使用Selection属性来返回一个在特定窗口或窗口窗格中Selection对象。以下的示例随同Window对象使用Selection属性,在文档窗口“Document2”中插入文字。
Windows (\Text\
以下的示例随同Pane对象使用Selection属性,在主页眉窗格中插入文字。
With ActiveWindow .View.Type = wdPageView
.View. SeekView = wdSeekPrimaryHeader
.ActivePane. Selection. InsertAfter Text :=\End With
在使用InsertAfter方法或InsertBefore方法之后,选定内容随之扩大,包括了新的文字。但是,用户也可以使用Collapse方法将选定内容折叠到它的起始或终止位置。以下的示例在选定内容的文字之后插入单词“Hello”,任何将选定内容折叠到单词“Hello”之后的插入点。
Selection.InsertAfter Text :=\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方法,选择